Part Number Hot Search : 
BY296 M38505M4 166BZX 03800 SST12 AN1746 55C56 SM16100D
Product Description
Full Text Search
 

To Download IBM32NPCXX1EPABBE66 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  ibm processor for network resources version 2.61 databook preliminary ?
copyright and disclaimer ? copyright international business machines corporation 1999, 2000 all rights reserved printed in the united states of america july 2000 the following are trademarks of international business machines corporation in the united states, or other countries, or both. ibm ibm logo powerpc other company, product and service names may be trademarks or service marks of others. all information contained in this document is subject to change without notice. the products described in this docu- ment are not intended for use in implantation or other life support applications where malfunction may result in injury or death to persons. the information contained in this document does not affect or change ibm product specifications or warranties. nothing in this document shall operate as an express or implied license or indemnity under the intellec- tual property rights of ibm or third parties. all information contained in this document was obtained in specific environ- ments, and is presented as an illustration. the results obtained in other operating environments may vary. while the information contained herein is believed to be accurate, such information is preliminary, and should not be relied upon for accuracy or completeness, and no representations or warranties of accuracy or completeness are made. the information contained in this document is provided on an "as is" basis. in no event will ibm be liable for damages arising directly or indirectly from any use of the information contained in this document. ibm microelectronics division 1580 route 52, bldg. 504 hopewell junction, ny 12533-6351 the ibm home page can be found at http://www.ibm.com the ibm microelectronics division home page can be found at http://www.chips.ibm.com pnr261_title.fm.06 august 14, 2000 note: this document contains information on products in the sampling and/or initial production phases of development. this information is subject to change without notice. verify with your ibm field applications engi- neer that you have the latest version of this document before finalizing a design. ?
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261toc.fm.06 august 14, 2000 page i contents list of figures ............................................................................................................. x vii list of tables ............................................................................................................... .xix 1. general information ..................................................................................................... 1 1.1 features .................................................................................................................. .......................... 1 1.2 description ............................................................................................................... ........................ 1 1.3 ordering information ...................................................................................................... ................. 2 1.4 conventions and notation .................................................................................................. ............ 2 1.5 standards compliance ...................................................................................................... .............. 3 1.6 references ................................................................................................................ ........................ 3 1.7 system environment ........................................................................................................ ............... 4 1.7.1 logical channel support ................................................................................................. ......... 5 1.7.2 virtual memory support .................................................................................................. .......... 5 1.7.3 queues .................................................................................................................. ................... 6 1.7.4 scheduling .............................................................................................................. .................. 6 1.8 key interfaces ............................................................................................................ ....................... 7 1.9 functional description .................................................................................................... ................ 9 1.9.1 transmit path ........................................................................................................... .............. 10 1.9.2 receive path ............................................................................................................ .............. 11 1.9.3 register addressing overview ............................................................................................ ... 12 2. input/output definitions ............................................................................................ 15 2.1 pci bus interface ......................................................................................................... .................. 15 2.2 dram memory bus interface ................................................................................................. ....... 17 2.3 npbus interface ........................................................................................................... .................. 21 2.4 phy bus interface ......................................................................................................... ................. 24 2.5 clock, configuration, and lssd interface .................................................................................. .30 3. register descriptions by entity ................................................................................ 33 3.1 the iop bus specific interface controller (pcint) ..................................................................... 33 3.1.1 pci options taken ....................................................................................................... .......... 33 3.1.2 pci target response ..................................................................................................... ........ 33 3.1.3 pci master response ..................................................................................................... ....... 33 3.1.4 pci master retry ........................................................................................................ ............ 33 3.1.5 pcint config word 0 ..................................................................................................... ........ 34 3.1.6 pcint config word 1 ..................................................................................................... ........ 35 3.1.7 pcint config word 2 ..................................................................................................... ........ 37 3.1.8 pcint config word 3 ..................................................................................................... ........ 38 3.1.9 pcint base address 1 (i/o for register) ............................................................................... 39 3.1.10 pcint base address 2 (mem for register) ......................................................................... 41 3.1.11 pcint base addresses 3-6 (memory) ................................................................................. 43 3.1.12 pcint cardbus cis pointer .............................................................................................. .. 45 3.1.13 pcint subsystem id/vendor id .......................................................................................... 4 6 3.1.14 pcint rom base address ................................................................................................. .47 3.1.15 capabilities pointer ................................................................................................... ............ 48
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page ii pnr261toc.fm.06 august 14, 2000 3.1.16 pcint config word 15 ................................................................................................... ......49 3.1.17 pcint endian control register .......................................................................................... ..50 3.1.18 pcint base address control register .................................................................................51 3.1.19 pcint window offsets for base addresses 3-6 ..................................................................53 3.1.20 pcint count timeout register ........................................................................................... .54 3.1.21 pcint 64-bit control register .......................................................................................... ....56 3.1.22 pcint 64-bit enable register ........................................................................................... ....57 3.1.23 pcint perf counters control register .................................................................................58 3.1.24 pcint perf counter 1 ................................................................................................... ........60 3.1.25 pcint perf counter 2 ................................................................................................... ........61 3.1.26 pci master options control ............................................................................................. .....62 3.1.27 power management program control ..................................................................................64 3.1.28 message signaled interrupts-word 1 ...................................................................................65 3.1.29 message signaled interrupts-word 2 ...................................................................................66 3.1.30 message signaled interrupts-word 3 ...................................................................................67 3.1.31 message signaled interrupts-word 4 ...................................................................................68 3.1.32 power management interface-word 1 ..................................................................................69 3.1.33 power management interface-word 2 ..................................................................................70 3.1.34 vital product data interface-word 1 .................................................................................... .71 3.1.35 vital product data interface-word 2 .................................................................................... .72 3.2 general purpose dma (gpdma) ............................................................................................... ....73 3.2.1 gpdma interrupt status register ......................................................................................... ..73 3.2.2 gpdma interrupt enable register ......................................................................................... .74 3.2.3 gpdma control register .................................................................................................. ......75 3.2.4 gpdma source address register ..........................................................................................7 6 3.2.5 gpdma destination address register ...................................................................................77 3.2.6 gpdma transfer count and flag register ............................................................................78 3.2.7 gpdma dma max burst time ................................................................................................ 79 3.2.8 gpdma maximum memory transfer count ...........................................................................80 3.2.9 gpdma checksum register ................................................................................................. .80 3.2.10 gpdma read dma byte count ...........................................................................................81 3.2.11 gpdma write dma byte count ............................................................................................8 1 3.2.12 gpdma array read address ............................................................................................... 82 3.2.13 gpdma array write address .............................................................................................. ..82 3.2.14 gpdma array ............................................................................................................ ...........83 3.3 interrupt and status/control (intst) ...................................................................................... ......85 3.3.1 intst interrupt 1 prioritized status register ..........................................................................8 5 3.3.2 intst interrupt 2 prioritized status register ..........................................................................8 6 3.3.3 intst control register .................................................................................................. .........87 3.3.4 intst interrupt source register ......................................................................................... ...89 3.3.5 intst interrupt 1 enable register (minta ) ...........................................................................90 3.3.6 intst interrupt 2 enable register (mint2 ) ...........................................................................91 3.3.7 intst interrupt source without enables register .................................................................91 3.3.8 intst cpb status register ............................................................................................... .....92 3.3.9 intst cpb interrupt enable register ....................................................................................9 4 3.3.10 intst pnr halt enable .................................................................................................. .....94 3.3.11 intst cpb capture enable ............................................................................................... ..95 3.3.12 intst cpb captured address ............................................................................................. 95 3.3.13 intst general purpose timer pre-scaler ............................................................................96 3.3.14 intst general purpose timer compare .............................................................................97 3.3.15 intst general purpose timer counter ...............................................................................97
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261toc.fm.06 august 14, 2000 page iii 3.3.16 intst general purpose timer status .................................................................................. 98 3.3.17 intst general purpose timer mode control ...................................................................... 99 3.3.18 intst enable for pcore normal interrupt ....................................................................... 100 3.3.19 intst enable for pcore critical interrupt ........................................................................ 100 3.3.20 intst debug states control ............................................................................................. . 101 3.3.21 intst delayed interrupts dma system address 1 ............................................................ 103 3.3.22 intst delayed interrupts dma system address 2 ............................................................ 103 3.3.23 current pci master address counter for debug ................................................................ 103 3.3.24 external entity states read ............................................................................................ .... 104 3.4 reset and power-on logic (crset/cbist) ............................................................................... 105 3.4.1 reset status register ................................................................................................... ........ 105 3.4.2 software reset enable register .......................................................................................... 106 3.4.3 software reset register ................................................................................................. ...... 107 3.4.4 memory type register .................................................................................................... ..... 108 3.4.5 crset pll range debug ................................................................................................... 109 3.4.6 crset control register .................................................................................................. .... 109 3.4.7 clock control register .................................................................................................. ........ 111 3.4.8 cbist prpg results ...................................................................................................... ..... 113 3.4.9 cbist misr results ...................................................................................................... ...... 113 3.4.10 cbist bist rate ........................................................................................................ ....... 113 3.4.11 cbist prpg expected signature ..................................................................................... 114 3.4.12 cbist misr expected signature ....................................................................................... 114 3.4.13 cbist cyct load value .................................................................................................. . 114 3.5 dma queues (dmaqs) ........................................................................................................ ........ 115 3.5.1 dma descriptors ......................................................................................................... ......... 115 3.5.2 dma types and options ................................................................................................... ... 115 3.5.3 descriptor based dmas ................................................................................................... .... 116 3.5.4 register based dmas ..................................................................................................... ..... 117 3.5.5 polling, interrupts, or events .......................................................................................... ...... 117 3.5.6 error detection and recovery ............................................................................................ .. 117 3.5.7 dma/queue scheduling options .......................................................................................... 11 7 3.5.8 address size ............................................................................................................ ............ 117 3.5.9 data width .............................................................................................................. .............. 118 3.5.10 initialization of dmaqs ................................................................................................ ....... 118 3.5.11 dmaqs lower bound registers ........................................................................................ 119 3.5.12 dmaqs upper bound registers ........................................................................................ 120 3.5.13 dmaqs head pointer registers ........................................................................................ 121 3.5.14 dmaqs tail pointer registers ........................................................................................... 121 3.5.15 dmaqs length registers ................................................................................................. . 122 3.5.16 dmaqs threshold registers ............................................................................................. 1 22 3.5.17 dmaqs status register .................................................................................................. ... 123 3.5.18 dmaqs interrupt enable register ..................................................................................... 125 3.5.19 dmaqs control register ................................................................................................. .. 126 3.5.20 dmaqs enqueue dma descriptor primitive register ....................................................... 128 3.5.21 dmaqs source address register ..................................................................................... 128 3.5.22 dmaqs destination address register ............................................................................... 129 3.5.23 dmaqs buffer address register ....................................................................................... 129 3.5.24 dmaqs transfer count and flag register ........................................................................ 130 3.5.25 dmaqs system descriptor address register ................................................................... 132 3.5.26 dmaqs checksum register .............................................................................................. 13 3 3.5.27 dmaqs local descriptor range registers ........................................................................ 134
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page iv pnr261toc.fm.06 august 14, 2000 3.5.27.1 dmaqs local descriptor range lower bound register ............................................134 3.5.27.2 dmaqs local descriptor range upper bound register ............................................134 3.5.28 dmaqs event queue number register .............................................................................135 3.5.29 dmaqs dma request size register .................................................................................136 3.5.30 dmaqs enq fifo register ................................................................................................ 136 3.6 the dram controllers (comet/pakit) .....................................................................................137 3.6.1 memory reset sequence ................................................................................................... ..137 3.6.2 comet/pakit control register ...........................................................................................1 38 3.6.3 comet/pakit status register ............................................................................................1 41 3.6.4 comet/pakit interrupt enable register .............................................................................142 3.6.5 comet/pakit lock enable register ..................................................................................142 3.6.6 comet/pakit memory error address register ..................................................................143 3.6.7 comet/pakit sdram command and status register .....................................................144 3.6.8 comet/pakit dram refresh rate register .....................................................................146 3.6.9 comet/pakit syndrome register ......................................................................................147 3.6.10 comet/pakit checkbit inversion register .......................................................................148 3.6.11 comet/pakit memory controller write enable register .................................................149 3.6.12 comet/pakit memory configuration error sense register .............................................150 3.7 on-chip checksum and dram test support (chksm) ............................................................153 3.7.1 software use of chksm ................................................................................................... ...153 3.7.2 running a tcp/ip checksum in packet/control memory .....................................................155 3.7.3 chksm base address register ...........................................................................................15 5 3.7.4 chksm read/write count register .....................................................................................156 3.7.5 chksm tcp/ip checksum data register ...........................................................................157 3.7.6 chksm ripple base register .............................................................................................. 158 3.7.7 chksm ripple limit register ............................................................................................. ..159 3.7.8 chksm interrupt enable register ........................................................................................1 59 3.7.9 chksm status register ................................................................................................... ....160 3.7.10 chksm control register ................................................................................................. ...161 3.7.11 debugging register access .............................................................................................. ..163 3.7.11.1 chksm internal state ................................................................................................. 163 3.8 the phy interface (linkc) ................................................................................................. .........165 3.8.1 functional description .................................................................................................. ........165 3.8.2 multi-drop .............................................................................................................. ...............165 3.8.3 pos-phy ................................................................................................................. .............165 3.8.4 linkc global control register ........................................................................................... ..166 3.8.5 linkc additional transmit control register .........................................................................169 3.8.6 linkc configuration 0 transmit & receive control register ...............................................170 3.8.7 linkc configuration 1 transmit & receive control register ...............................................173 3.8.8 linkc configuration 2 transmit & receive control register ...............................................176 3.8.9 linkc configuration 3 transmit & receive control register ...............................................179 3.8.10 linkc map transmit configurations to port addresses .....................................................182 3.8.11 linkc map receive configurations to port addresses ......................................................183 3.8.12 linkc transmitted hec control byte ................................................................................184 3.8.13 linkc interrupt/status register ........................................................................................ .185 3.8.14 linkc interrupt enable register ........................................................................................ 187 3.8.15 linkc prioritized interrupts ........................................................................................... .....187 3.8.16 linkc transmit state machine register ............................................................................188 3.8.17 linkc receive state machine register .............................................................................189 3.8.18 linkc lan address register ............................................................................................. 189 3.8.19 linkc canonical lan address register ............................................................................189 3.8.20 linkc passed tx data register ........................................................................................19 0
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261toc.fm.06 august 14, 2000 page v 3.9 virtual memory logic (vimem) .............................................................................................. ..... 191 3.9.1 vimem virtual memory base address ................................................................................. 191 3.9.2 vimem on-chip memory base address .............................................................................. 192 3.9.3 vimem control memory base address ................................................................................ 192 3.9.4 vimem packet memory base address ................................................................................ 193 3.9.5 vimem virtual memory total bytes ...................................................................................... 19 4 3.9.6 vimem virtual/real memory buffer size .............................................................................. 195 3.9.7 vimem packet memory offset ............................................................................................. 1 96 3.9.8 vimem maximum buffer size ............................................................................................... 197 3.9.9 vimem control register .................................................................................................. ..... 198 3.9.10 vimem status register .................................................................................................. .... 199 3.9.11 vimem interrupt enable register ....................................................................................... 2 01 3.9.12 vimem memory lock enable register ............................................................................... 202 3.9.13 vimem state machine current state ................................................................................. 203 3.9.14 vimem last processor read real address address ........................................................ 204 3.9.15 vimem virtual buffer segment size register .................................................................... 205 3.9.16 vimem buffer map base address register ....................................................................... 207 3.9.17 vimem real buffer base address registers ..................................................................... 209 3.10 memory arbitration logic (arbit) ......................................................................................... .. 211 3.10.1 arbit control priority resolution register high ............................................................... 211 3.10.2 arbit control priority resolution register low ................................................................ 212 3.10.3 arbit control error mask register ................................................................................... 213 3.10.4 arbit control error source register ................................................................................. 214 3.10.5 arbit control winner register .......................................................................................... 215 3.10.6 arbit control address register a .................................................................................... 216 3.10.7 arbit control address register b .................................................................................... 216 3.10.8 arbit control length register .......................................................................................... 217 3.10.9 arbit control lock entity enable register ....................................................................... 218 3.10.10 arbit control config register ......................................................................................... 219 3.10.11 arbit packet priority resolution register high .............................................................. 220 3.10.12 arbit packet priority resolution register low ............................................................... 221 3.10.13 arbit packet entity error mask register ........................................................................ 222 3.10.14 arbit packet error source register ............................................................................... 224 3.10.15 arbit packet winner register ........................................................................................ 22 5 3.10.16 arbit packet address register a ................................................................................... 226 3.10.17 arbit packet address register b ................................................................................... 226 3.10.18 arbit packet length register ......................................................................................... 2 27 3.10.19 arbit packet lock entity enable register ...................................................................... 228 3.10.20 arbit packet config register ......................................................................................... 2 29 3.10.21 arbit performance counter control ............................................................................... 230 3.10.22 arbit memory performance counter .............................................................................. 232 3.11 the bus dram cache controller (bcach) ............................................................................. 233 3.11.1 bcach control register ................................................................................................. ... 234 3.11.2 bcach status register .................................................................................................. ... 236 3.11.3 bcach interrupt enable register ...................................................................................... 23 7 3.11.4 bcach high priority timer value ...................................................................................... 23 8 3.11.5 bcach line tag registers ............................................................................................... . 239 3.11.6 bcach line valid bytes register ...................................................................................... 24 0 3.11.7 bcach line status register ............................................................................................. . 241 3.11.8 bcach cache line array ................................................................................................. . 242
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page vi pnr261toc.fm.06 august 14, 2000 3.12 transmit scheduler (csked) ............................................................................................... .....243 3.12.1 scheduling overview .................................................................................................... ......243 3.12.2 operational description ................................................................................................ ......243 3.12.2.1 lcd initialization ................................................................................................... .......243 3.12.2.2 a scheduling example ................................................................................................2 44 3.12.2.3 csked initialization ................................................................................................. ...245 3.12.2.4 packet initialization ................................................................................................ ......245 3.12.3 scheduling options ..................................................................................................... ........245 3.12.3.1 abr scheduling ....................................................................................................... ...245 3.12.3.2 frame scheduling ..................................................................................................... ..246 3.12.3.3 path scheduling ...................................................................................................... ....246 3.12.4 primitives ............................................................................................................. ...............247 3.12.4.1 enqueue .............................................................................................................. ........247 3.12.4.2 close connection ..................................................................................................... ...247 3.12.4.3 transmit enqueue primitive ........................................................................................247 3.12.4.4 resume transmission primitive ..................................................................................248 3.12.4.5 start/stop timer primitive ........................................................................................... .249 3.12.4.6 close connection primitive .........................................................................................25 0 3.12.4.7 timeslot prescaler register ........................................................................................25 1 3.12.4.8 current timeslot counter ............................................................................................2 51 3.12.5 csked control register ................................................................................................. ....252 3.12.6 transmit segmentation throttle register ...........................................................................254 3.12.7 transmit segmentation throttle counter ............................................................................254 3.12.8 mpeg conversion register ............................................................................................... .255 3.12.9 abr timer prescaler register ........................................................................................... .256 3.12.10 rm cell timer ......................................................................................................... ..........256 3.12.11 csked lcd update data registers ................................................................................257 3.12.12 csked lcd update mask registers ...............................................................................257 3.12.13 csked lcd update operation registers ........................................................................258 3.12.14 csked lcd read operation register .............................................................................259 3.12.15 drop access control register .......................................................................................... .260 3.12.16 performance registers ................................................................................................. ....261 3.12.16.1 high priority bandwidth limit register ......................................................................261 3.12.16.2 medium priority bandwidth limit register .................................................................262 3.12.16.3 low priority bandwidth limit register .......................................................................263 3.12.16.4 high priority cells transmitted counter ....................................................................263 3.12.16.5 medium priority cells transmitted counter ...............................................................264 3.12.16.6 low priority cells transmitted counter .....................................................................264 3.12.16.7 bytes queued counters ............................................................................................265 3.12.17 debugging register access ............................................................................................. .266 3.12.17.1 fast serviced counters .............................................................................................2 66 3.12.17.2 slow serviced counters ............................................................................................26 7 3.12.17.3 timer serviced counters ...........................................................................................26 8 3.12.17.4 csked status register .............................................................................................26 9 3.12.17.5 csked interrupt e nable register .............................................................................270 3.12.17.6 csked timing data array pointer ............................................................................271 3.12.17.7 csked timing data array data ................................................................................272 3.12.17.8 csked time w heel array pointer ............................................................................273 3.12.17.9 csked time w heel array data ................................................................................274 3.12.17.10 csked lcd cache array pointer ...........................................................................275 3.12.17.11 csked lcd cache array data ..............................................................................276 3.12.17.12 csked state machine variables register ..............................................................276
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261toc.fm.06 august 14, 2000 page vii 3.12.17.13 lcd cache lcd address registers ....................................................................... 277 3.12.17.14 lcd cache state machine variables register ....................................................... 278 3.12.17.15 lcd cache lru state register .............................................................................. 279 3.13 transmit buffer segmentation (segbf) .................................................................................. 281 3.13.1 segbf software lcd enqueue ......................................................................................... 283 3.13.2 segbf control register ................................................................................................. ... 284 3.13.3 segbf status register .................................................................................................. .... 286 3.13.4 segbf invalid lcd register ............................................................................................. 287 3.13.5 segbf software lcd complete ........................................................................................ 288 3.13.6 segbf interrupt enable register ...................................................................................... 28 9 3.13.7 segbf programmable counters ....................................................................................... 290 3.13.8 segbf transmit lcd size ................................................................................................ 291 3.13.9 segbf cell queue status ................................................................................................ . 292 3.13.10 segbf processor 1 control/status ................................................................................. 293 3.13.11 segbf processor 2 control/status ................................................................................. 294 3.13.12 segbf programmable counter source specification ..................................................... 295 3.13.13 segbf cell staging array pointer ................................................................................... 297 3.13.14 segbf cell staging array data ....................................................................................... 29 7 3.13.15 segbf instruction sram pointer .................................................................................... 298 3.13.16 segbf instruction sram data ........................................................................................ 299 3.13.17 segbf mpeg-2 pcr increment register ....................................................................... 299 3.14 cell/packet reassembly (reasm) ........................................................................................... . 301 3.14.1 miscellaneous reassembly functions ............................................................................... 303 3.14.1.1 atm oam cell processing .......................................................................................... 303 3.14.1.2 tcp/ip receive checksum verification ...................................................................... 304 3.14.1.3 scatter/cut through receive processing ................................................................... 304 3.14.2 reasm .................................................................................................................. ............. 309 3.14.2.1 reasm logical channel descriptor base register .................................................... 309 3.14.2.2 reasm mode register ............................................................................................... 310 3.14.2.3 reasm reassembly modes register ......................................................................... 311 3.14.2.4 reasm status register .............................................................................................. 31 2 3.14.2.5 reasm interrupt enable register ............................................................................... 313 3.14.2.6 reasm debug state selector register .................................................................... 313 3.14.3 rxbuf .................................................................................................................. ............. 314 3.14.3.1 rxbuf functional description .................................................................................... 314 3.14.3.2 rxbuf cell data buffer address ................................................................................ 315 3.14.3.3 rxbuf cell data buffer read/write port ................................................................... 315 3.14.3.4 rxbuf cell info buffer address ................................................................................. 316 3.14.3.5 rxbuf cell info buffer read/write port ..................................................................... 317 3.14.3.6 rxbuf receive buffer threshold ............................................................................... 317 3.14.4 rxxlt .................................................................................................................. .............. 318 3.14.4.1 rxxlt functional description .................................................................................... 318 3.14.4.2 rxxlt register array address port ........................................................................... 322 3.14.4.3 rxxlt register array read/write port ...................................................................... 322 3.14.4.4 rxxlt processor state selector ................................................................................ 323 3.14.4.5 rxxlt processor state read/write port .................................................................... 323 3.14.4.6 rxxlt instruction array address port ........................................................................ 324 3.14.4.7 rxxlt instruction array read/write port ................................................................... 324 3.14.4.8 rxxlt last lcd index register ................................................................................. 325
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page viii pnr261toc.fm.06 august 14, 2000 3.14.5 rxcrc .................................................................................................................. .............326 3.14.5.1 rxcrc functional description ...................................................................................326 3.14.5.2 rxcrc instruction array address port .......................................................................326 3.14.5.3 rxcrc instruction array read/write port ..................................................................327 3.14.5.4 rxcrc processor state selector ...............................................................................327 3.14.5.5 rxcrc processor state read/write port ...................................................................328 3.14.5.6 rxcrc last lcd index register ................................................................................328 3.14.5.7 rxcrc checksum protocol registers .......................................................................329 3.14.6 rxaal .................................................................................................................. ..............330 3.14.6.1 rxaal functional description ....................................................................................330 3.14.6.2 rxaal instruction array address port ........................................................................331 3.14.6.3 rxaal instruction array read/write port ...................................................................331 3.14.6.4 rxaal processor state selector ................................................................................332 3.14.6.5 rxaal processor state read/write port ....................................................................333 3.14.6.6 rxaal last lcd index register .................................................................................333 3.14.6.7 rxaal transmit queue length compression configuration .....................................334 3.14.6.8 rxaal packet header configuration ..........................................................................335 3.14.6.9 rxaal error count register .......................................................................................336 3.14.6.10 rxaal dropped c ount register ...............................................................................337 3.14.6.11 rxaal maximum sdu length register ...................................................................337 3.14.6.12 rxaal oam lcd information register ....................................................................338 3.14.6.13 rxaal scatter/cut thr ough info registers ..............................................................338 3.14.6.14 rxaal scatter/cut thr ough flag registers .............................................................342 3.14.7 rxlcd .................................................................................................................. ..............343 3.14.7.1 rxlcd functional description ....................................................................................343 3.14.7.2 rxlcd cache data array address port .....................................................................343 3.14.7.3 rxlcd cache data array read/write port ................................................................344 3.14.7.4 rxlcd cache line info registers ..............................................................................344 3.14.7.5 rxlcd mode register ................................................................................................34 5 3.14.8 rxrto .................................................................................................................. .............346 3.14.8.1 rxrto functional description ...................................................................................346 3.14.8.2 reassembly timeout (rto) processing .....................................................................346 3.14.8.3 rxrto lcd update data registers ..........................................................................347 3.14.8.4 rxrto lcd update mask registers .........................................................................347 3.14.8.5 rxrto lcd update op registers .............................................................................348 3.14.8.6 rxrto rto lcd table bound registers ..................................................................349 3.14.8.7 rxrto reassembly timeout value register .............................................................349 3.14.8.8 rxrto reassembly timeout pre-scaler register .....................................................350 3.15 receive queues (rxque) ................................................................................................... ......351 3.15.1 functional description ................................................................................................. .......351 3.15.2 rxque interface ........................................................................................................ ........351 3.15.3 rxque events ........................................................................................................... ........352 3.15.3.1 aal5 packet events ................................................................................................... .355 3.15.3.2 cell events .......................................................................................................... ........356 3.15.3.3 lc events ............................................................................................................ ........357 3.15.3.4 abr events ........................................................................................................... ......357 3.15.3.5 miscellaneous events ................................................................................................. .358 3.15.3.6 frame-based events ................................................................................................... 360 3.15.3.7 pcore events ......................................................................................................... ...360 3.15.3.8 system-receive-queue events ..................................................................................360 3.15.3.9 rxaal picoprocessor generated events ...................................................................361
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261toc.fm.06 august 14, 2000 page ix 3.15.4 rxque structure ........................................................................................................ ....... 361 3.15.5 rxque initialization ................................................................................................... ........ 361 3.15.6 rxque event routing .................................................................................................... ... 362 3.15.7 rxque normal operation ................................................................................................. 363 3.15.8 rxque queue full operation ........................................................................................... 36 4 3.15.9 rxque event timestamping ............................................................................................. 36 4 3.15.10 rxque system receive queues .................................................................................... 364 3.15.11 rxque lower bound registers ...................................................................................... 366 3.15.12 rxque properties registers ........................................................................................... 3 67 3.15.13 rxque head pointer registers ....................................................................................... 369 3.15.14 rxque tail pointer registers ......................................................................................... 3 70 3.15.15 rxque length registers ................................................................................................ . 371 3.15.16 rxque threshold registers ............................................................................................ 3 72 3.15.17 rxque dequeue registers ............................................................................................. 37 3 3.15.18 rxque enqueue registers ............................................................................................. 37 4 3.15.19 rxque next lower bound registers .............................................................................. 375 3.15.20 rxque last event dropped register .............................................................................. 376 3.15.21 rxque timestamp register ............................................................................................ 37 6 3.15.22 rxque timestamp pre-scaler register .......................................................................... 377 3.15.23 rxque timestamp shift register ................................................................................... 377 3.15.24 rxque event routing registers ..................................................................................... 378 3.15.25 rxque event latency timer register ............................................................................ 378 3.15.26 rxque queues status register ...................................................................................... 379 3.15.27 rxque interrupt enable registers .................................................................................. 380 3.15.28 rxque status register ................................................................................................. .. 381 3.15.29 rxque enabled status registers 1 and 2 ...................................................................... 382 3.15.30 rxque control register ................................................................................................ .. 383 3.15.31 debugging register access ............................................................................................. 385 3.15.31.1 rxque rxq state machine variable register ........................................................ 385 3.15.31.2 rxque rxq enq state machine variable register ............................................... 385 3.15.31.3 rxque enq fifo head ptr register ....................................................................... 386 3.15.31.4 rxque enq fifo tail ptr register .......................................................................... 386 3.16 nodal processor bus interface logic (npbus) ...................................................................... 387 3.16.1 npbus control register ................................................................................................. ... 387 3.16.2 npbus status register .................................................................................................. .... 390 3.16.3 npbus interrupt enable register ...................................................................................... 39 1 3.16.4 npbus eprom address/command register ................................................................... 392 3.16.5 npbus eprom data register .......................................................................................... 393 3.16.6 phy 1 registers ........................................................................................................ ......... 393 3.16.7 phy 2 registers ........................................................................................................ ......... 394 3.16.8 eprom instructions ..................................................................................................... ...... 394 3.17 buffer pool management (pools) ........................................................................................... 395 3.17.1 basic operation in real memory mode .............................................................................. 395 3.17.2 basic operation in virtual memory mode ........................................................................... 395 3.17.3 resource controls ...................................................................................................... ........ 395 3.17.4 virtual memory overview ................................................................................................ ... 396 3.17.5 pools get pointer primitive ............................................................................................ . 401 3.17.6 pools free pointer primitive ........................................................................................... . 402 3.17.7 pools common pools count registers ........................................................................... 403 3.17.8 pools client thresholds array ......................................................................................... 4 04 3.17.9 pools user threshold and client active packet count array ......................................... 405
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page x pnr261toc.fm.06 august 14, 2000 3.17.10 pools pointer queues dram head pointer offset address register ...........................406 3.17.11 pools pointer queues dram tail pointer offset address register ..............................407 3.17.12 pools pointer queues dram lower bound address register .....................................408 3.17.13 pools pointer queues dram upper bound register ...................................................409 3.17.14 pools pointer queues length registers .......................................................................410 3.17.15 pools interrupt enable register .....................................................................................41 1 3.17.16 pools event enables register .......................................................................................411 3.17.17 pools event hysteresis register ...................................................................................412 3.17.18 pools event data register ............................................................................................4 13 3.17.19 pools status register ................................................................................................. ...414 3.17.20 pools control register ................................................................................................ ...416 3.17.21 pools buffer threshold registers 0-4 ............................................................................418 3.17.22 pools index threshold registers 0-4 ............................................................................419 3.17.23 pools last primitive trap register ................................................................................419 3.17.24 pools last buffer map read on free register ..............................................................420 3.17.25 pools error lock enable register .................................................................................420 3.17.26 pools packet and control memory access threshold ..................................................421 3.17.27 pools buffer map group ................................................................................................ 422 3.18 processor core (pcore) ................................................................................................... .......423 3.18.1 pcore entity overview .................................................................................................. ...423 3.18.1.1 dcr interface ........................................................................................................ ......423 3.18.1.2 interrupt controller ................................................................................................. ......423 3.18.1.3 bridge-address translation .........................................................................................42 4 3.18.1.4 ocm sram ............................................................................................................. ....424 3.18.1.5 control memory ....................................................................................................... ....424 3.18.1.6 packet memory ........................................................................................................ ....424 3.18.1.7 pci master interface-external .....................................................................................424 3.18.1.8 pnr register space ................................................................................................... 424 3.18.2 pcore control register ................................................................................................. ...425 3.18.3 pcore reset control register ..........................................................................................4 28 3.18.4 pcore status register .................................................................................................. ....429 3.18.5 pcore user status register ............................................................................................. 430 3.18.6 pcore cobra core external status register .................................................................431 3.18.7 pcore cobra core external machine check status register .......................................433 3.18.8 pcore jtag debug control register ..............................................................................435 3.18.9 pcore jtag debug status register ................................................................................436 3.18.10 pcore jtag instruction stuff buffer ..............................................................................437 3.18.11 pcore jtag debug data register ................................................................................437 3.18.12 pcore cobra core boot address ................................................................................438 3.18.13 pcore cobra core access priority control register ...................................................439 3.18.14 pcore transaction dead man timer value registers ...................................................440 3.18.15 pcore transaction dead man timer register ...............................................................441 3.18.16 pcore pnr shadow status register .............................................................................442 3.18.17 pcore pnr packet last write with error address .........................................................442 3.18.18 pcore pnr rxque status register .............................................................................442 3.18.19 pcore pnr rxque enabled status register 1 ............................................................443 3.18.20 pcore pnr rxque enabled status register 2 ............................................................443 3.18.21 pcore pnr rxque upper queues status register .....................................................443 3.18.22 pcore pnr rxque lower queues status register .....................................................444 3.18.23 pcore dmaqs status register .....................................................................................444 3.18.24 pcore dmaqs interrupt enable register ......................................................................444 3.18.25 pcore dmaqs head and tail pointer shadow registers .............................................445
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261toc.fm.06 august 14, 2000 page xi 3.18.26 pcore pools get pointer primitive ............................................................................. 446 3.18.27 pcore pools free pointer primitive ............................................................................ 447 3.18.28 pcore pools pointer primitive offset register ........................................................... 447 3.18.29 pcore rxque queue length registers ....................................................................... 448 3.18.30 pcore dmaqs queue length registers ....................................................................... 449 3.18.31 pcore interrupt enable register .................................................................................... 449 3.18.32 pcore user interrupt enable .......................................................................................... 4 50 3.18.33 pcore cobra core interrupt enable register ............................................................. 450 3.18.34 pcore cobra core external machine check enable register .................................... 450 3.18.35 pcore error lock enable register ................................................................................. 451 3.18.36 pcore user error lock enable register ........................................................................ 451 3.18.37 pcore rxque event interface enqueue register ........................................................ 452 3.18.38 pcore dmaqs dma enqueue register ........................................................................ 453 3.18.39 pcore rxque event interface deque register ............................................................ 454 3.18.40 pcore cobra spr access address register ............................................................. 455 3.18.41 pcore cobra spr read data access register ......................................................... 456 3.18.42 pcore cobra spr write data access register .......................................................... 456 3.18.43 pcore address translation offset address facilities .................................................... 457 3.18.44 pcore pci 64 bit address translation facilities ............................................................ 459 3.18.45 pcore pci master target tag controls ......................................................................... 460 3.18.46 pcore last packet address register ............................................................................ 462 3.18.47 pcore last control address register ............................................................................ 462 3.18.48 pcore last pci lower address register ....................................................................... 462 3.18.49 pcore last register address register .......................................................................... 463 3.18.50 pcore ocm window address register ......................................................................... 463 3.18.51 pcore read data transfer buffers ................................................................................ 464 3.18.52 pcore write data transfer buffers ................................................................................ 464 3.18.53 pcore polling register ................................................................................................ ... 465 3.18.54 pcore integer input rate conversion register ............................................................. 465 3.18.55 pcore abr output rate register .................................................................................. 466 3.18.56 pcore debug states control ......................................................................................... 467 3.18.57 pcore debug states config ........................................................................................... 46 8 3.19 embedded powerpc processor (cobra) ............................................................................... 469 3.19.1 features ............................................................................................................... .............. 469 3.19.2 interfaces ............................................................................................................. ............... 471 3.19.3 performance ............................................................................................................ ........... 471 3.19.4 instruction set ........................................................................................................ ............. 471 3.19.5 cobra instruction overview ............................................................................................. 472 3.19.6 cobra unique instructions .............................................................................................. . 473 3.19.6.1 move from internal bus (mfbus) .................................................................................. 473 3.19.6.2 move to internal bus (mtbus) ...................................................................................... 474 3.19.7 cobra facilities overview .............................................................................................. .. 475 3.19.8 cobra specific register definitions ................................................................................. 482 3.19.8.1 hardware implementation detail 0 register (hid0) .................................................... 482 3.19.8.2 machine state register (msr) .................................................................................... 484 3.19.8.3 exception status register (esr) ................................................................................ 486 3.19.8.4 machine check enable register (mchk) ................................................................... 487 3.20 rs-232 interface logic (rs-232) .......................................................................................... ..... 489 3.20.1 rs-232 control register ................................................................................................ .... 489 3.20.2 rs-232 status register ................................................................................................. ..... 490 3.20.3 rs-232 interrupt enable register ...................................................................................... 4 91
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page xii pnr261toc.fm.06 august 14, 2000 3.20.4 rs-232 transmit buffer ................................................................................................. .....491 3.20.5 rs-232 receive buffer .................................................................................................. .....492 3.20.6 rs-232 baud rate register .............................................................................................. .492 3.20.7 rs-232 cts/dsr glitch timer rate ..................................................................................493 3.20.8 rs-232 reset register .................................................................................................. .....493 3.20.9 rs-232 error forcing register .......................................................................................... .494 3.21 powerpc on-chip memory (ppocm) entity ............................................................................495 3.21.1 dma controller ......................................................................................................... ..........495 3.21.2 ppocm control register ................................................................................................. ...495 3.21.3 ppocm status register .................................................................................................. ...496 3.21.4 ppocm interrupt enable register ......................................................................................49 7 3.21.5 ppocm dma off-chip effective address register ............................................................497 3.21.6 ppocm dma on-chip effective address register ............................................................498 3.21.7 ppocm dma length register ...........................................................................................498 3.21.8 ppocm dma timeout timer register ...............................................................................499 3.22 jtag interface logic (cjtag) ............................................................................................. .....501 3.22.1 scanning ............................................................................................................... ..............501 3.22.2 instruction format ..................................................................................................... ..........502 3.22.3 instructions ........................................................................................................... ...............503 3.22.3.1 idcode ............................................................................................................... ........503 3.22.3.2 sample/preload ....................................................................................................503 3.22.3.3 extest ............................................................................................................... ........503 3.22.3.4 bypass ............................................................................................................... .......503 3.22.3.5 runbist .............................................................................................................. .......503 3.22.3.6 bist_results ......................................................................................................... .504 3.22.3.7 compatible_mode .................................................................................................504 3.22.3.8 compliant_mode ...................................................................................................504 3.22.3.9 stop ................................................................................................................. ..........504 3.22.3.10 scan ................................................................................................................ .........504 3.22.3.11 scan_in ............................................................................................................. ......504 3.22.3.12 scan_out ............................................................................................................ ...505 3.22.3.13 private_rw1 ......................................................................................................... ....505 3.22.3.14 private_rw2 ......................................................................................................... ....505 3.22.3.15 private_rw3 ......................................................................................................... ....505 3.23 sonet framer core (framr chiplet address mapping) ........................................................507 3.23.1 description of gppint .................................................................................................. ......507 3.23.1.1 overview ............................................................................................................. .........507 3.23.1.2 reset register ....................................................................................................... ......507 3.23.1.3 interrupt registers .................................................................................................. .....507 3.23.1.4 handshaking error registers ......................................................................................507 3.23.1.5 clock monitor status registers ...................................................................................508 3.23.1.6 local gppint configuration registers .......................................................................508 3.23.1.7 global static configuration registers ..........................................................................508 3.23.1.8 status registers ..................................................................................................... .....508 3.23.2 description of gpphandler .............................................................................................. ...509 3.23.2.1 overview ............................................................................................................. .........509 3.23.2.2 counter registers .................................................................................................... ....509 3.23.2.3 reset registers ...................................................................................................... .....509 3.23.2.4 command registers .................................................................................................... 509 3.23.2.5 event latch registers ................................................................................................ .510 3.23.2.6 interrupt registers .................................................................................................. .....510
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261toc.fm.06 august 14, 2000 page xiii 3.23.2.7 configuration registers .............................................................................................. . 510 3.23.2.8 register types ....................................................................................................... ..... 510 3.23.3 gppint registers ....................................................................................................... ....... 511 3.23.3.1 chiplet reset register 1 (resgp1) ........................................................................... 512 3.23.3.2 chiplet reset register 2 (resgp2) ........................................................................... 513 3.23.3.3 chiplet interrupt and mask registers (irqgp1 (irmgp1)) ........................................ 514 3.23.3.4 handshaking error indication and mask registers (hshake1) ................................... 515 3.23.3.5 clock monitor status and mask registers (clkstat1 (clkmask1)) .............................. 516 3.23.3.6 clock monitor test period register (cmongp1) ........................................................ 517 3.23.3.7 watchdog timer period register (wdtgp1) ............................................................. 517 3.23.3.8 gppint local configuration registers (confgp1) ..................................................... 518 3.23.3.9 vital macro data register (vpd) ................................................................................. 519 3.23.3.10 static configuration register (gatmcs) .................................................................. 520 3.23.3.11 gcasc ............................................................................................................... ........ 521 3.23.3.12 glooptx ............................................................................................................. ....... 522 3.23.3.13 glooprx ............................................................................................................. ...... 523 3.23.3.14 gextres ............................................................................................................. ....... 524 3.23.3.15 ofptxgp ............................................................................................................. .... 525 3.23.3.16 ofprxgp1 ............................................................................................................ ... 526 3.23.3.17 ofprxgp2 ............................................................................................................ ... 526 3.23.3.18 pimrconf2 ........................................................................................................... ..... 527 3.23.3.19 simstat ............................................................................................................. ......... 527 3.23.4 atm cell handler registers: transmit direction ................................................................ 528 3.23.4.1 rofmid ............................................................................................................... ........ 529 3.23.4.2 rofhi ................................................................................................................ .......... 529 3.23.4.3 acbc ................................................................................................................. ......... 530 3.23.4.4 iuc .................................................................................................................. ............ 530 3.23.4.5 acbe ................................................................................................................. .......... 531 3.23.4.6 acbeth11 ............................................................................................................. ..... 531 3.23.4.7 cnten1 ............................................................................................................... ......... 532 3.23.4.8 reset register (reset) ............................................................................................. 53 3 3.23.4.9 stat1 ................................................................................................................ ......... 534 3.23.4.10 iucstat1 ............................................................................................................ ..... 535 3.23.4.11 mainirq ............................................................................................................. ....... 535 3.23.4.12 m_mainirq ........................................................................................................... .... 536 3.23.4.13 cntrirq1 ............................................................................................................ ....... 537 3.23.4.14 m_cntrirq1 .......................................................................................................... .... 538 3.23.4.15 celltenable ......................................................................................................... 539 3.23.4.16 acbtxthrpae ........................................................................................................ 5 40 3.23.4.17 sdbtxthrpaf ........................................................................................................ 5 40 3.23.4.18 headerbyte1 ........................................................................................................ 5 41 3.23.4.19 headerbyte2 ........................................................................................................ 5 41 3.23.4.20 headerbyte3 ........................................................................................................ 5 42 3.23.4.21 headerbyte4 ........................................................................................................ 5 42 3.23.4.22 headerbyte5 ........................................................................................................ 5 43 3.23.4.23 payloadbyte ........................................................................................................ 5 43 3.23.4.24 hecenctrl ........................................................................................................... . 544 3.23.4.25 hecoffset ........................................................................................................... .. 545 3.23.4.26 hecmaskand ......................................................................................................... 5 45 3.23.4.27 hecmaskor ........................................................................................................... 546
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page xiv pnr261toc.fm.06 august 14, 2000 3.23.5 atm cell handler registers: receive direction .................................................................547 3.23.5.1 rofmid ............................................................................................................... ........548 3.23.5.2 rofhi ................................................................................................................ ..........548 3.23.5.3 fhr .................................................................................................................. ...........549 3.23.5.4 ihr .................................................................................................................. ............549 3.23.5.5 ehr1 ................................................................................................................. ..........550 3.23.5.6 ehr1th11 ............................................................................................................. ......550 3.23.5.7 eht1th12 ............................................................................................................. ......551 3.23.5.8 bhr .................................................................................................................. ...........551 3.23.5.9 bhrth11 .............................................................................................................. .......552 3.23.5.10 bhrth12 ............................................................................................................. ......552 3.23.5.11 cnten1 .............................................................................................................. .........553 3.23.5.12 reset register (reset) ...........................................................................................554 3.23.5.13 command register (cmd1) ......................................................................................555 3.23.5.14 status register (stat2) ...........................................................................................55 5 3.23.5.15 mainirq ............................................................................................................. .......556 3.23.5.16 m_mainirq ........................................................................................................... ....557 3.23.5.17 cntrirq1 ............................................................................................................ .......558 3.23.5.18 m_cntrirq1 .......................................................................................................... ....559 3.23.5.19 conf5 ............................................................................................................... .......560 3.23.5.20 conf6 ............................................................................................................... .......561 3.23.5.21 confc ............................................................................................................... .......561 3.23.5.22 h1conf .............................................................................................................. ......562 3.23.5.23 h2conf .............................................................................................................. ......562 3.23.5.24 h3conf .............................................................................................................. ......563 3.23.5.25 h4conf .............................................................................................................. ......563 3.23.5.26 h5conf .............................................................................................................. ......564 3.23.6 overhead frame processor architecture: transmit direction ............................................565 3.23.6.1 ptrinc ............................................................................................................... ........568 3.23.6.2 ptrdec ............................................................................................................... .......568 3.23.6.3 nd_evcnt ............................................................................................................. ....569 3.23.6.4 juscnt ............................................................................................................... .......569 3.23.6.5 juscntth11 ........................................................................................................... ...570 3.23.6.6 cnten1 ............................................................................................................... ..........570 3.23.6.7 reset register (reset) .............................................................................................57 1 3.23.6.8 command register (cmd1) ........................................................................................571 3.23.6.9 stat1 ................................................................................................................ .........572 3.23.6.10 stat2 ............................................................................................................... ........572 3.23.6.11 mainirq ............................................................................................................. .......573 3.23.6.12 m_mainirq ........................................................................................................... ....574 3.23.6.13 cntrirq1 ............................................................................................................ .......575 3.23.6.14 m_cntrirq1 .......................................................................................................... ....576 3.23.6.15 irq3 ................................................................................................................ ..........577 3.23.6.16 m_irq3 .............................................................................................................. .......578 3.23.6.17 conf1 ............................................................................................................... .......579 3.23.6.18 conf2 ............................................................................................................... .......580 3.23.6.19 conf3 ............................................................................................................... .......580 3.23.6.20 conf4 ............................................................................................................... .......581 3.23.6.21 conf5 ............................................................................................................... .......581 3.23.6.22 conf6 ............................................................................................................... .......582 3.23.6.23 conf7 ............................................................................................................... .......582 3.23.6.24 conf8 ............................................................................................................... .......583
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261toc.fm.06 august 14, 2000 page xv 3.23.6.25 conf9 ............................................................................................................... ....... 584 3.23.6.26 conf10 .............................................................................................................. ...... 584 3.23.7 overhead frame processor architecture: receive direction ............................................. 585 3.23.7.1 rofmid ............................................................................................................... ........ 589 3.23.7.2 b1bitcnt ............................................................................................................. ...... 590 3.23.7.3 b1bitcntth11 ......................................................................................................... .. 590 3.23.7.4 b1bitcntth12 ......................................................................................................... .. 591 3.23.7.5 b1blkcnt ............................................................................................................. ..... 591 3.23.7.6 b1blkcntth11 ......................................................................................................... . 592 3.23.7.7 b1blkcntth12 ......................................................................................................... . 592 3.23.7.8 b2bitcnt ............................................................................................................. ...... 593 3.23.7.9 b2bitcntth11 ......................................................................................................... .. 593 3.23.7.10 b2bitcntth12 ........................................................................................................ . 594 3.23.7.11 b2bitcntth21 ........................................................................................................ . 594 3.23.7.12 b2bitcntth22 ........................................................................................................ . 595 3.23.7.13 b2blkcnt ............................................................................................................ .... 595 3.23.7.14 b2blkcntth11 ........................................................................................................ 596 3.23.7.15 b2blkcntth12 ........................................................................................................ 596 3.23.7.16 b2blkcntth21 ........................................................................................................ 597 3.23.7.17 b2blkcntth22 ........................................................................................................ 597 3.23.7.18 b3bitcnt ............................................................................................................ ..... 598 3.23.7.19 b3bitcntth11 ........................................................................................................ . 598 3.23.7.20 b3bitcntth12 ........................................................................................................ . 599 3.23.7.21 b3blkcnt ............................................................................................................ .... 599 3.23.7.22 b3blkcntth11 ........................................................................................................ 600 3.23.7.23 b3blkcntth12 ........................................................................................................ 600 3.23.7.24 msreicnt ............................................................................................................ .... 601 3.23.7.25 msreicntth11 ....................................................................................................... 6 01 3.23.7.26 msreicntth12 ....................................................................................................... 6 02 3.23.7.27 hpreicnt ............................................................................................................ .... 602 3.23.7.28 hpreicntth11 ........................................................................................................ 603 3.23.7.29 hpreicntth12 ........................................................................................................ 603 3.23.7.30 pj_evcnt ............................................................................................................ .... 604 3.23.7.31 nj_evcnt ............................................................................................................ .... 604 3.23.7.32 nd_evcnt ............................................................................................................ ... 605 3.23.7.33 cnten1 .............................................................................................................. ........ 606 3.23.7.34 cnten2 .............................................................................................................. ........ 607 3.23.7.35 reset register (reset) ........................................................................................... 608 3.23.7.36 stat1 ............................................................................................................... ........ 608 3.23.7.37 stat2 ............................................................................................................... ........ 609 3.23.7.38 stat3 ............................................................................................................... ........ 610 3.23.7.39 stat4 ............................................................................................................... ........ 611 3.23.7.40 mainirq ............................................................................................................. ....... 612 3.23.7.41 m_mainirq ........................................................................................................... .... 613 3.23.7.42 cntrirq1 ............................................................................................................ ....... 614 3.23.7.43 m_cntrirq1 .......................................................................................................... .... 615 3.23.7.44 cntrirq2 ............................................................................................................ ....... 616 3.23.7.45 m_cntrirq2 .......................................................................................................... .... 617 3.23.7.46 cntrirq3 ............................................................................................................ ....... 618 3.23.7.47 m_cntrirq3 .......................................................................................................... .... 619 3.23.7.48 irq6 ................................................................................................................ .......... 620 3.23.7.49 m_irq6 .............................................................................................................. ....... 621
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page xvi pnr261toc.fm.06 august 14, 2000 3.23.7.50 irq7 ................................................................................................................ ..........622 3.23.7.51 m_irq7 .............................................................................................................. .......623 3.23.7.52 irq8 ................................................................................................................ ..........624 3.23.7.53 m_irq8 .............................................................................................................. .......625 3.23.7.54 conf1 ............................................................................................................... .......626 3.23.7.55 conf2 ............................................................................................................... .......627 3.23.7.56 conf3 ............................................................................................................... .......628 3.23.7.57 conf4 ............................................................................................................... .......629 3.23.7.58 conf7 ............................................................................................................... .......630 3.23.7.59 conf8 ............................................................................................................... .......631 3.23.7.60 conf9 ............................................................................................................... .......631 4. physical description and signal definitions .........................................................633 5. ac timing characteristics .......................................................................................644 5.1 sram timing diagrams ...................................................................................................... .........654 5.2 eprom timing diagrams ..................................................................................................... .......658 5.3 phy timing diagrams ....................................................................................................... ...........662 6. electrical ratings .....................................................................................................664 7. application notes: data structures ........................................................................673 7.1 packet header ............................................................................................................. ..................673 7.2 general lcd ............................................................................................................... ...................677 7.3 transmit lcd data structures .............................................................................................. ......678 7.3.1 field definitions ....................................................................................................... .............686 7.4 receive lcd data structure and modes ....................................................................................69 2 7.5 lcd field definitions ..................................................................................................... ..............703 revision log .................................................................................................................7 05
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261lof.fm.06 august 14, 2000 page xvii list of figures figure 1: functional units in the ibm processor for network resources ................................................. 21 figure 2: system context of an atm subsystem ................................................................................... .. 24 figure 3: block diagram ........................................................................................................ ................... 28 figure 4: transmit scheduling capabilities ..................................................................................... ......... 31 figure 5: pci bus connections .................................................................................................. .............. 35 figure 6: dram memory bus connections .......................................................................................... .... 37 figure 7: npbus connections .................................................................................................... ............. 41 figure 8: phy bus interface connections ........................................................................................ ........ 44 figure 9: clock, configuration, and lssd connections ........................................................................... 50 figure 10: dma descriptor layout ............................................................................................... ............ 135 figure 11: timeline example of scheduling ...................................................................................... ....... 264 figure 12: timeline example of frame scheduling ................................................................................ .. 266 figure 13: segbf block diagram ................................................................................................. ........... 301 figure 14: reasm entity interfaces ............................................................................................. ............ 321 figure 15: reasm sub-entity block diagram ...................................................................................... .... 322 figure 16: general layout of a received packet in scatter mode ........................................................... 325 figure 17: general layout of a scatter dma list ................................................................................ ..... 326 figure 18: rxbuf block diagram ................................................................................................. ........... 334 figure 19: rxxlt block diagram ................................................................................................. ........... 338 figure 20: standard atm ........................................................................................................ ................. 339 figure 21: ppp ................................................................................................................. ........................ 340 figure 22: q.922 2 byte addressing ............................................................................................. ........... 340 figure 23: q.922 4 byte addressing ............................................................................................. ........... 340 figure 24: funi 2.0 2 byte addressing .......................................................................................... .......... 341 figure 25: funi 2.0 4 byte addressing .......................................................................................... .......... 341 figure 26: rxcrc block diagram ................................................................................................. .......... 346 figure 27: rxaal block diagram ................................................................................................. ........... 350 figure 28: rxlcd block diagram ................................................................................................. ........... 363 figure 29: rxrto block diagram ................................................................................................. .......... 366 figure 30: general queue, event, and data structure linkage ............................................................... 371 figure 31: rxque dequeue event loop ............................................................................................ ..... 383 figure 32: virtual address buffer map .......................................................................................... ........... 417 figure 33: buffer/virtual memory allocation structure in memory ............................................................ 418 figure 34: virtual address buffer map .......................................................................................... ........... 419 figure 35: pcore structure ..................................................................................................... ............... 443 figure 36: package diagram ..................................................................................................... ............... 653 figure 37: pinout viewed from above ............................................................................................ .......... 654 figure 38: sdram read cycle (1 of 2) ........................................................................................... ........ 668 figure 39: sdram read cycle (2 of 2) ........................................................................................... ........ 669 figure 40: sdram write cycle (1 of 2) .......................................................................................... .......... 670 figure 41: sdram write cycle (2 of 2) .......................................................................................... .......... 671 figure 42: sdram write of 64-byte burst with cas latency=2 .............................................................. 672 figure 43: sdram write of 64-byte burst with cas latency=3 .............................................................. 673
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page xviii pnr261lof.fm.06 august 14, 2000 figure 44: sram read cycle ..................................................................................................... ..............674 figure 45: sram write cycle .................................................................................................... ...............675 figure 46: sram read cycle with byte enables ................................................................................... ..676 figure 47: sram write cycle with byte enables .................................................................................. ...677 figure 48: parallel eprom read ................................................................................................. ............678 figure 49: parallel eprom write ................................................................................................ .............679 figure 50: serial eprom read ................................................................................................... .............680 figure 51: serial eprom write .................................................................................................. ..............681 figure 52: phy read ............................................................................................................ ....................682 figure 53: phy write ........................................................................................................... .....................683 figure 54: transmit packet header structure .................................................................................... ......693 figure 55: receive packet header structure ..................................................................................... ......693 figure 56: receive packet definitions .......................................................................................... ............694 figure 57: logical channel data structure ...................................................................................... .........697 figure 58: general lcd layout .................................................................................................. ..............697 figure 59: overall transmit lcd layout ......................................................................................... .........698 figure 60: scheduling portion of a transmit descriptor ......................................................................... ..699 figure 61: transmit logical channel descriptor structure ....................................................................... 700 figure 62: transmit logical path descriptor structure .......................................................................... ...701 figure 63: redefinition of transmit logical channel descriptor for connections sharing .......................702 figure 64: redefinition of shared and segmentation portion of transmit lcd for abr ..........................703 figure 65: redefinition of segmentation portion of transmit lcd for fixed size aal5 blocking ...........704 figure 66: redefinition of segmentation portion of transmit lcd for mpeg2 ........................................704 figure 67: redefinition of scheduling portion of transmit lcd for abr ..................................................705 figure 68: redefinition of scheduling portion of transmit lcd for timers ..............................................705 figure 69: definition of lcd-based memory management of transmit lcd ...........................................706 figure 70: definition of abr code variables .................................................................................... ........706 figure 71: transmit data structure linkage ..................................................................................... ........711 figure 72: basic receive lcd layout ............................................................................................ ..........712 figure 73: raw lcd packed and miscellaneous field layouts ...............................................................713 figure 74: raw routed lcd packed and miscellaneous field layouts ..................................................714 figure 75: raw routed early drop lcd packed and miscellaneous field layouts ................................715 figure 76: raw scatter/cut-through lcd packed and miscellaneous field layouts .............................716 figure 77: aal5 lcd packed and miscellaneous field layouts .............................................................717 figure 78: aal5 routed lcd layout .............................................................................................. .........718 figure 79: aal5 cut-through/scatter mode lcd packed and miscellaneous field layouts ..................719 figure 80: packet lcd packed and miscellaneous field layouts ...........................................................720 figure 81: packet routed lcd packed and miscellaneous field layouts ...............................................721 figure 82: packet cut-through scatter mode lcd packed and miscellaneous field layouts ................722
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261lot.fm.06 august 14, 2000 page xix list of tables table 1: summary of entities .................................................................................................. ...................... 29 table 2: memory map for registers and arrays .................................................................................. .......... 32 table 3: pci bus interface signal descriptions ................................................................................ ............. 36 table 4: dram memory bus interface signal descriptions ........................................................................ .. 38 table 5: memory i/o cross reference by device type ............................................................................ .... 39 table 6: possible memory configurations using sdram with shared ecc ............................................... 40 table 7: possible memory configurations using sram ............................................................................ ... 40 table 8: npbus signal descriptions ............................................................................................ ................ 42 table 9: phy bus signal descriptions .......................................................................................... ................ 45 table 10: transmit phy i/o cross reference .................................................................................... .......... 48 table 11: receive phy i/o cross reference ..................................................................................... .......... 49 table 12: clock, configuration, and lssd signal descriptions .................................................................. .. 51 table 13: ?select a clock? selection matrix ................................................................................... ............. 132 table 14: dma types and flags ................................................................................................. ................ 136 table 15: ecc syndrome bits ................................................................................................... .................. 167 table 16: moving cells to and from the pnr .................................................................................... .......... 186 table 17: legal loopback configurations ....................................................................................... ............ 188 table 18: oam cell processing and handling .................................................................................... ........ 323 table 19: event summary and routing information ............................................................................... ..... 372 table 20: pcore address translation target bit encoding ...................................................................... 4 78 table 21: machine control/status registers .................................................................................... ........... 495 table 22: branch control registers ............................................................................................ ................ 495 table 23: debug control registers ............................................................................................. ................ 496 table 24: special purpose facilities .......................................................................................... ................. 496 table 25: interrupt and exception registers ................................................................................... ............ 496 table 26: timer registers ..................................................................................................... ...................... 497 table 27: cache control registers ............................................................................................. ................ 498 table 28: translation control registers ....................................................................................... ............... 498 table 29: exception vector override registers ................................................................................. ......... 500 table 30: internal debug access address map ................................................................................... ....... 501 table 31: framr chiplet address mapping ....................................................................................... ........ 527 table 32: gpphandler architecture ............................................................................................. ............... 529 table 33: gppint chiplet address mapping overview: base address = x?c00? ........................................ 531 table 34: ach_tx gpp handler address mapping .................................................................................. .. 548 table 35: ach_rx gpp handler address mapping .................................................................................. . 567 table 36: ofp_tx gpp handler address mapping .................................................................................. .. 585 table 37: ofp_rx gpp handler address mapping .................................................................................. .. 605 table 38: signal pin listing by signal name ................................................................................... ........... 655 table 39: 2.5v v dd pins ......................................................................................................................... ..... 659 table 40: 3.3v v dd pins ......................................................................................................................... ..... 660 table 41: ground pins ......................................................................................................... ........................ 661 table 42: library element definitions ......................................................................................... ................. 662 table 43: i/o pci bus timing .................................................................................................. .................... 664
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page xx pnr261lot.fm.06 august 14, 2000 table 44: memory timing ....................................................................................................... .....................665 table 45: npbus timing ........................................................................................................ .....................666 table 46: phy timing .......................................................................................................... ........................667 table 47: absolute maximum ratings ............................................................................................ .............684 table 48: recommended operating conditions .................................................................................... ......684 table 49: power dissipation ................................................................................................... .....................684 table 50: dc electrical characteristics ....................................................................................... ................685 table 51: transmit and receive packet header field descriptions ............................................................694 table 52: transmit lcd field definitions ...................................................................................... ..............706 table 53: common field definitions ............................................................................................ ................723 table 54: raw mode field definitions .......................................................................................... ...............724 table 55: packet/aal5 field definitions ....................................................................................... ...............724
pnr261_1intro.fm.06 august 14, 2000 IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources features page 1 of 706 1. general information 1.1 features  supports multiple protocols, including atm, pos, frame relay, and 10/100/gigabit ethernet  customizable on-chip 133 mhz ibm powerpc ? processor core  manages up to 65535 simultaneous logical channels, individually or in groups  integrated 155 mb/s sonet (synchronous optical network) framer for simpler, low band- width designs  flexible atm forum-compliant utopia ii inter- face with up to four phys  switch interface extensions  pci 32/64-bit interface up to 66mhz  configurable for sustained performance through the subsystem: - 155mb/s full duplex internal sonet framer - 622mb/s full duplex using an external sonet framer - 622mb/s across up to four full duplex 155mb/s links using an external quad framer  jtag test interface  package: 624 lead, 32 mm x 32 mm cbga  power supply: 2.6 v 2%; 3.3 v 5%. 1.2 description IBM32NPCXX1EPABBE66, the ibm processor for network resources (pnr), is an asynchronous transfer mode (atm) support device. it is an inter- face and translator between a peripheral compo- nent interconnect (pci) bus and an atm utopia or similar interface to an atm phy. the pnr has an integrated packet/frame memory (dram controller) and performs segmentation and reassembly (sar) functions for several of the atm adaptation layers (aals). the pnr functions are illustrated below and in figure 3: block diagram on page 8 and listed in table 1: summary of entities on page 9. figure 1: functional units in the ibm processor for network resources virtual/real memory interfaces each supports up to 4mb sram or 128mb dram dma engine phy interface sar transmit queuing interface powerpc ? 133mhz (abr & user fxn) 66mhz pci bus interface control bus control memory packet memory eprom (init) cell scheduling & segmentation cell buffering frame reassembly receive queuing interface ibm processor for network resources sonet framer (155mb/s) utopia (622mb/s)
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary ordering information page 2 of 706 pnr261_1intro.fm.06 august 14, 2000 1.3 ordering information 1.4 conventions and notation in most of this document, bit notation is non-ibm, meaning that bits and bytes are numbered in descending order from left to right. thus, for a four-byte word, bit 31 is the most significant bit and bit 0 is the least signifi- cant bit. exception: in section 3.19 embedded powerpc processor (cobra) on page 469, ibm bit notation is used, meaning that for a four-byte word, bit 0 is the most significant bit and bit 31 is the least significant bit. the internal addressing view of the pnr registers and memory is big endian. in most cases, a system will wire its pci bus interface to make the register view transparent, that is, the most significant bit in this specifi- cation will be the most significant bit in the register. if registers are read and written 32 bits at a time (which is the only way to access many of the registers), the endian-ness should not be a programming issue with respect to the registers. the pnr dma controller can transfer data in either big endian or little endian mode. see 3.2 general pur- pose dma (gpdma) on page 73 for details. register access conventions:  read/write - bits of the register can be read or written.  read only - bits of the register can only be read. writes have no effect.  clear/set - if writing to the base address of the register, writing a ? 1 ? to a register bit causes the bit to be cleared. if writing to the base address of the register+4, writing a ? 1 ? to a register bit causes the bit to be set. either address can be used to read the register. numeric notation is as follows:  hexadecimal values are preceded by x and enclosed in single quotation marks. for example: x ? 0b00 ? . for individual registers, address values are hexadecimal without any special markings and may use an x as a placeholder. for example, xxxx 1c3c.  binary values in text are either spelled out (zero and one) or appear in single quotation marks. for example: ? 1010 ? .  binary values in the default and description columns of the register sections are often isolated from text as in this example: 0 no action on read access 1 auto-reset interrupt request register upon read access part number description IBM32NPCXX1EPABBE66 ibm processor for network resources version 2.61 msb lsb 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_1intro.fm.06 august 14, 2000 standards compliance page 3 of 706 1.5 standards compliance the ibm processor for network resources (pnr), part number IBM32NPCXX1EPABBE66, has been designed with a number of standards in mind. these standards are listed below, grouped according to the area of functionality they address.  network (defined by itu-ts (formerly ccitt), ansi and atm forum) - itu recommendation i-361 - b-isdn atm layer specification - itu recommendation i.362 - b-isdn atm adaptation layer (aal) functional description - itu recommendation i.363 - b-isdn atm adaptation layer (aal) specification - itu recommendation i.413 - b-isdn user-network interface - itu recommendation i-432 - b-isdn user-network interface - physical layer specification - itu recommendation i-610 - oam principles of b-isdn access - ansi t1.atm-199x draft, broadband isdn - atm layer functionality and specification - ansi t1.cbr-199x draft, broadband isdn - atm adaptation layer for constant bit rate service functionality and specification - atm forum 93-620r2 - atm user-network interface specification - version 2.3 (july 27, 1993) - bellcore ta-nwt-001248 generic requirements for operations of broadband switching systems (october 1993)  system interface - pci local bus specification, production version, revision 2.2, december 18, 1998. interface techni- cal reference  phy interface - saturn user network interface, pmc-sierra, inc., february 1995 - atm forum 93-727 an atm phy data path interface, version 2.01, march 24, 1994 1.6 references international technical support centers: asynchronous transfer mode (broadbacn isdn) technical over- view . international technical support organization. raleigh center, june 1994, gg24-4330-00
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary system environment page 4 of 706 pnr261_1intro.fm.06 august 14, 2000 1.7 system environment the dataflow context of an atm subsystem is shown in figure 2. the purpose of the communications sub- system of any digital device is to allow the application to share data and to arbitrate the flow of control with other devices. data, in the form of application objects or control structures, are divided into communication frames at the communication stack interface. the stack may further partition the frames to fit reliability, efficiency, latency, and protocol requirements. in most cases, the communication stack encapsulates the data frame with protocol headers and/or trailers. these header blocks are often located in memory in areas apart from the data frames. a device driver is often given the task of moving this scattered memory to the actual transmission device. scatter dma is often used to make this operation efficient. in the case of the ibm processor for network resources, the data can be dmaed into virtually contiguous buffers connected to and controlled by the pnr. it is also possible to write the frame headers directly from the processor to pnr memory. the fully assembled frame is enqueued for transmission over a particular logical channel. (see more on the richness of logical channels in atm and the pnr in section 7. application notes: data structures on page 673). the logical channels with pending work are serviced by the atm segmentation layer which breaks the enqueued data into 48-byte chunks (depending on the atm adaptation layer (aal)) and prefixes it with a five-byte header (yielding a 53-byte atm cell) in preparation for transmission. a transmission convergence (tc) sublayer appropriate for the physical layer (phy) and physical media dependent (pmd) connection is then exercised, making atm cells suitable for transmission. the receiving process is the reverse of the transmission process, except that the scheduling performed dur- ing transmission is replaced by an identification-demultiplexing step during the reception of cells. figure 2: system context of an atm subsystem object data object data application data frames frame headers and data packet memory local channels lan emulation tcp/ip mapping communication stack device driver atm cells segmentation scheduling physical layer (tc) pmd / transceiver control memory application
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_1intro.fm.06 august 14, 2000 system environment page 5 of 706 note: not all of these separate parts or steps described in this section are necessary for a dedicated function system. pnr can easily be used in dedicated systems due to the goal of minimal processor intervention for steady state operations. 1.7.1 logical channel support the logical channel is the unit of resource allocation in atm. at one level, the end station negotiates with the network interface to determine the characteristics of each end-station-to-end-station connection. the resources that may be reserved in the network are defined in the atm uni (user network interface) specifi- cation (see references in standards compliance on page 3). these resources include (but are not limited to) the peak and average bandwidth to be used by the logical channel, the maximum burst length that may be transmitted at the burst rate, the latency and variance of the connection, and the loss probability. the term logical channel rather than virtual circuit or vpi/vci is used in this databook to provide a level of abstraction from these specific instances. a switched virtual circuit (svc) can be negotiated with specific characteristics. a virtual path can be negotiated with the network . several virtual circuits within that path can then be multi- plexed, using the vci on that single vpi, without having to renegotiate for each additional vci. the logical channel, with respect to the network, would be the virtual path. there would be multiple logical channels internal to the end station based on the virtual circuits used within the path. all of these logical channels are dealt with uniformly in the pnr. a hierarchy of logical channel descriptors can be built up, and frames or buffers can be queued to each of the lcds. see 3.12 transmit scheduler (csked) on page 243 for details. 1.7.2 virtual memory support the packet memory space appears on the bus as a group buffers whose size is configurable up to 128 kb). a level of indirection has been added to the addressing of packet memory to provide these large frame buff- ers without requiring memory behind all of them at the same time. this has been done for a number of rea- sons:  the frames on the network can be up to 64 kb long.  the receiver does not know how long a frame will be until it is completely received.  software generally has a much easier time dealing with contiguous memory. the memory does not page or swap. there are two major internal strategies for improving efficiency:  the first n bytes of memory in a buffer are referenced directly.  the blocks that make up the buffers are of multiple sizes.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary system environment page 6 of 706 pnr261_1intro.fm.06 august 14, 2000 1.7.3 queues the ibm processor for network resources makes extensive use of cached single memory operation atomic queues: note: in order to maintain the atomicity of 64-bit atomic transfers, the user must ensure that 64-bit transfers are bus atomic within the particular bus system in which the pnr is being used. 1.7.4 scheduling there is extensive support for transmit scheduling. please see 1.9.1 transmit path on page 10 and figure 4: transmit scheduling capabilities on page 11 for details. transmit queues the interface to the scheduling entity. blocks and frames can be queued to logical channels. receive queues based on the settings in the logical channel descriptor (receive side). cells arriving can be queued individually, collected into frames. event queues when a frame is transmitted, its memory can be ? garbage collected ? or a reference to the frame can be placed on an event queue for software to handle. if either a fifo buffer scheme or a frame buffer scheme is used to source or sink data on a logical channel, it is possible to set thresholds on the buffering that will cause events to be queued. when a threshold is crossed (for instance if a transmitting lc is about to run out of data to transmit), an event will be queued. software can read these events either by polling or by being interrupted and can schedule tasks to pro- vide more data. events can be scheduled on the reception of the first n bytes of a frame so that header processing can begin even before the complete frame is received. this will allow ? cut-through ? routing to be supported.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_1intro.fm.06 august 14, 2000 key interfaces page 7 of 706 1.8 key interfaces the ibm processor for network resources has four major interfaces: host bus interfacing, memory manage- ment for buffers and control, cell segmentation and reassembly, and physical layer (phy) hardware control for an atm adapter. a system bus acts as an actively cached memory slave and as a master for the pci 32- or 64-bit bus. the phy interface supports several physical layer hardware devices that perform parallel to serial data con- version and the rest of the transmission convergence. the phy interface connects to several available hardware support devices. this layer of hardware converts a parallel data stream into a serial data stream to be shipped to and from the physical media dependent (pmd) layer. the phy and pmd end of a card design can be implemented as one of several encoding schemes and speeds, supporting both copper and fiber optic serial links. the interface complies with the utopia level ii and packet over sonet (pos) specifications supporting up to 4 phys. (see 1.5 standards compliance on page 3 for documents that describe these interfaces.) the pmd layer interface connects to the line drivers and receivers. this could be either a copper or a fiber optic transceiver. two external dram interfaces can each support various configurations of synchronous dram (sdram) or synchronous static ram (sram). the interfaces are totally independent of one another; for example, one can be connected to sdram and the other to sram. however, each interface can only support one type of memory; that is, sdram and sram cannot be connected to the same interface. the interface is a direct drive to the dram. in standard operation, the arrays connected to the two memory interfaces of the pnr are used for the storage of packet data and control structures. both the packet and control memory arrays are 32 bits wide plus any error detection/correction enabled by the user. when running at 155mb/s or slower (full duplex aggregate throughput), a single array of memory can be used. both control and data store are contained in this single array of memory. for a detailed description of the external memory organization refer to 3.6 the dram controllers (comet/pakit) on page 137. the control and configuration interface covers a number of functions. it gives access from the system bus to the phys and the eprom. the eprom can also be used to hold initial device configuration, up to and including pvc configurations. the four major interfaces allow the pnr to be used in both ? deep ? and ? shallow ? adaptors with minimal exter- nal logic.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary key interfaces page 8 of 706 pnr261_1intro.fm.06 august 14, 2000 figure 3: block diagram te st entities crset cbist sclck cjtag phy bus interface npbus interrupt status intst checksum chksm pci interface pcint processor core pcore dma queues dmaqs general dma gpdma bus cache bcach rxq mgmt rxque eprom access/ phy control pci bus pci master interface internal memory bus segmentation segbf reassembly reasm arbiter arbit virtual vimem memory pools control pools control mem controller packet mem controller sonet framer framr async cell interface linkc memory cell csked scheduler control memory packet memory serial interface 8/16 bit phy interface
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_1intro.fm.06 august 14, 2000 functional description page 9 of 706 1.9 functional description the pnr has been designed by breaking the implementation of the various functions and dataflows into sep- arate entities (major functional units). this processor acts as a conversion unit from a bus memory interface (which is work queue oriented) to a phy level atm. to accomplish this, the pnr contains the major functional units listed in table 1: summary of entities on page 9 and shown in figure 3: block diagram on page 8. the entities and their registers are described in this document starting on the page listed in table 1 . table 1: summary of entities major function entity name description see page control processor bus interface pcint provides pci specific interfacing between the external connection and the internal entities. 33 gpdma provides dma control between system memory and pnr packet memory. 73 intst contains the masking registers that choose which interrupt or status source will be gated onto one of the two available interrupt i/o pins. 85 dmaqs provides the interface to the pnr ? s dma master capability. it provides three dma queues that hold dma descriptor chains that are executed in a multiplexed fashion. together with gpdma, a very powerful interface is provided the to software to complete complex tasks including tcp/ip checksumming for transmit and receive packets. 115 memory control comet/pakit contains the memory controllers. comet controls control memory and pakit controls packet memory. 137 chksm this entity has two functions. first, it is capable of initializing and/or testing packet and con- trol memory. second, it can perform tcp checksums (two ? s complement, 16-bit sum with ? end-around-carry ? ). 153 vimem responsible for adjusting all addresses provided to the memory control entities. 191 arbit memory subsystem requestor arbitration. 211 bcach provides the caching function for data transfers on the pci bus. 233 pools memory pool manager. 395 transmit data path csked transmit cell scheduler. responsible for receiving a packet from the processor, determining when cells from the packets need to be transmitted, and passing this information to the seg- mentation buffer entity. 243 segbf segmentation buffer. accepts frames from the cell scheduler (csked) or software, then gen- erates atm cells to send out over the external physical interface. this entity knows or cares nothing about scheduling cells over time; it will simply construct a cell when it is provided an address of a logical circuit descriptor to operate on. all rate and scheduling concerns must be addressed by the csked logic or software prior to queueing a frame to segbf. 281 receive data path reasm cell and packet reassembly. top level receive entity that encapsulates all of the receive sub- entities and includes aal processing. 301 rxque receive queue manager. 351 phy level interfaces linkc provides the interface between the pnr and either an atm phy device or, when the internal framer is selected, a serializer/deserializer device. 165 npbus nodal processor bus interface. 387 framr full sonet oc-3/stm-1 framing support logic. 507 hardware protocol assist pcore embedded 401 processor core interface logic. 423 cobra chip onboard risc architecture, the embedded 401 processor core. 469
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary functional description page 10 of 706 pnr261_1intro.fm.06 august 14, 2000 1.9.1 transmit path a typical transmit operation begins with the software requesting a buffer from pools and filling it with data via slave dma, master dma, or processor writes. if virtual buffers are being used, the data write operation can fail due to lack of physical buffers. in the event of a failure, the header of the packet is updated to indicate the failure. if using master dma, the failed buffer can be freed to pools. if not, the software can audit the header after the buffer has been completely transferred, and either take action to recover the data immedi- ately or allow csked to generate an event later in the transmit cycle for any buffers that have had a data write failure. before the data can be transmitted, the buffer header must be updated to contain information required for cor- rect transmission. information such as data length, starting offset, and logical channel (lc) address are just a few of the fields that must be correctly reflected in the buffer header. for a complete list of the fields in the buffer header refer to 7.1 packet header on page 673. in addition to the fields in the buffer header, the scheduling and segmentation sections of the logical channel descriptor (lcd), such as peak rate, average rate, and aal type, must also be set up correctly prior to trans- mission. for a complete list of the fields in the lcd, refer to 7.3 transmit lcd data structures on page 678. to improve performance, the lcds are cached in the txlcd entity. after the data have been transferred into packet storage and both the buffer header and the lcd structure have been correctly initialized, the buffer address is queued to csked. when it receives a buffer, c sked checks the buffer header (packet memory) to make sure that the data transfer operation that filled the buffer completed without error. if it finds an error, csked posts an event to software and does nothing further with this buffer. if no error is indicated in the buffer header, csked fetches several fields from the lcd indicated in the buffer header to determine the current state of that lcd. if the lcd is busy sending another buffer, the new buffer is queued to this lcd and will be processed when all previously enqueued buffers have been transmitted. if the lcd is not busy, csked updates the lcd based on several fields in the buffer header and a request is sent to segbf to send a cell from this lcd. if more cells need to be sent, csked queues the lcd to the timewheel (which is comprised of a series of queues that determine when a cell is transmitted). when csked detects a previously enqueued lcd on the time wheel, several fields are retrieved from the lcd. among other things, these fields are used by csked to determine where on the time w heel to resched- ule this lcd. the lcd address is then provided to segbf for processing. when csked provides an lcd address to segbf, the segmentation portion of the lcd is used to deter- mine both the current address at which to continue buffer segmentation and the type of cell to construct. depending on the aal type bits in the segmentation portion of the lcd, the cell is constructed in an internal array using data from the lcd as well as data fetched from packet memory. when the cell construction is complete, status is raised to linkc indicating that a new cell is available for transmission. base device functions sclck system clock generation and repowering. crset hardware and software reset controlling. 105 cbist built-in self test logic. 105 cjtag jtag test interface logic. 501 table 1: summary of entities (continued) major function entity name description see page
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_1intro.fm.06 august 14, 2000 functional description page 11 of 706 transmit opportunities are repeatedly provided to segbf by csked at the desired rate until all the data in the buffer has been passed to linkc via the cell buffer array. when segbf detects that no more data exists for a buffer, an indication is passed to csked. if more buffers are queued, the lcd is updated and the seg- mentation process continues until all buffers on the lcd queue are serviced. a bit in the buffer header gener- ates a transmit complete event when all of the data in the buffer has been transmitted. in pos mode, csked will only provide one transmit request per buffer to segbf. segbf will segment the entire buffer before accepting another request from c sked. up to four physical drops can be configured in linkc. a field in the lcd is used to assign a connection to a physical drop. 1.9.2 receive path as cells arrive, they pass from linkc to reasm. reasm uses a portion of the atm packet header to look up the lcd address for this cell. the lcd address is then passed to rxlcd. rxlcd reads the receive portion of the lcd, and then reasm processes the cell based on the lcd information. for example, the lcd spec- ifies what aal to use and maintains the current reassembly state. using the current reassembly state, the cell data is written to packet memory. while the data is written to packet memory, other functions such as crc and tcp/ip checksum verification are performed in parallel. if a packet is complete, all trailer verification is performed. if the packet is good, an event is placed on a receive queue in the rxque entity. for error sce- narios, see 3.15 receive queues (rxque) on page 351. at this point, software can dequeue the packet event from rxque using the dequeue operation. it can then examine headers, dma the data into user space, and perform tcp checksums. when these actions are complete, the buffer is returned to the pnr by performing a pools free buffer operation. figure 4: transmit scheduling capabilities vci desc. frame frame frame head pointer ta i l pointer frame frame frame frame vci desc. vci desc. pointer fifo extra pin external control fixed rate vci start variable length frames as fixed intervals vpi/vci vpi 3 level cell based transmission frame based transmission add block byte count threshold priority scheduling wheels
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary functional description page 12 of 706 pnr261_1intro.fm.06 august 14, 2000 1.9.3 register addressing overview table 2: memory map for registers and arrays address entity elements accessed notes xxxx 0000 - 00ff pcint registers 3.1 the iop bus specific interface controller (pcint) on page 33 xxxx 0100 - 01ff gpdma registers & array 3.2 general purpose dma (gpdma) on page 73 1, 2 xxxx 0400 - 04ff intst registers 3.3 interrupt and status/control (intst) on page 85 xxxx 0500 - 05ff crset registers 3.4 reset and power-on logic (crset/cbist) on page 105 xxxx 0600 - 08ff dmaqs registers 3.5 dma queues (dmaqs) on page 115 1 xxxx 0900 - 09ff comet/pakit registers 3.6 the dram controllers (comet/pakit) on page 137 xxxx 0a00 - 0aff chksm registers 3.7 on-chip checksum and dram test support (chksm) on page 153 1 xxxx 0b00 - 0bff linkc registers 3.8 the phy interface (linkc) on page 165 xxxx 0d00 - 0dff vimem registers 3.9 virtual memory logic (vimem) on page 191 xxxx 0e00 - 0eff arbit registers 3.10 memory arbitration logic (arbit) on page 211 xxxx 1000 - 1ff bcach registers 3.11 the bus dram cache controller (bcach) on page 233 xxxx 1100 - 117f bcach array 3.11 the bus dram cache controller (bcach) on page 233 xxxx 1200 - 3ff csked registers & array 3.12 transmit scheduler (csked) on page 243 xxxx 1400 - 5ff segbf registers & array 3.13 transmit buffer segmentation (segbf) on page 281 xxxx 1600 - 7ff reasm registers & array 3.14 cell/packet reassembly (reasm) on page 301 xxxx 1800 - fff rxque registers 3.15 receive queues (rxque) on page 351 xxxx 2000 - 2018 npbus registers & external eeprom & soner framer core 3.16 nodal processor bus interface logic (npbus) on page 387 3 xxxx 2400 - 7ff phy 1 registers 3.16.6 phy 1 registers on page 393 xxxx 2 800 - 2bff phy 2 registers 3.16.7 phy 2 registers on page 394 xxxx 2c00 - 2fff reserved reserved xxxx 3000 - 3fff pools registers & arrays 3.17 buffer pool management (pools) on page 395 1. not all addresses are used in this space. 2. gpdma array on page 83 tells how to get at the arrays since the array is not memory mapped. 3. npbus eprom address/command register on page 392 tells how to access eeproms and the sonet framer core.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_1intro.fm.06 august 14, 2000 functional description page 13 of 706 xxxx 4000 - 4fff pcore registers & arrays 3.18 processor core (pcore) on page 423 xxxx 5000 - 5fff ppocm arrays 3.18.50 pcore ocm window address register on page 463 table 2: memory map for registers and arrays (continued) address entity elements accessed notes 1. not all addresses are used in this space. 2. gpdma array on page 83 tells how to get at the arrays since the array is not memory mapped. 3. npbus eprom address/command register on page 392 tells how to access eeproms and the sonet framer core.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary functional description page 14 of 706 pnr261_1intro.fm.06 august 14, 2000
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_2io.fm.06 august 14, 2000 pci bus interface page 15 of 706 2. input/output definitions the several interfaces to the pnr are described in the following sections. there are 443 active i/o pins, assigned as follows:  90 for the pci bus  160 for the dram memory bus  85 for the npbus  70 for the phy bus  38 for clock, configuration, and lssd for i/o pin locations, see figure 37: pinout viewed from above on page 634 and table 38: signal pin listing by signal name on page 635. 2.1 pci bus interface figure 5: pci bus connections ibm32npcxxepabbd66 mframe pcbe(3-0) mserr pad(31-0) ppar mperr minta mint2 pidsel mdevsel mtrdy mirdy mstop mgnt pcbe64(7-4) mreq64 mack64 ppar64 mpmevent mextpmevent pci bus mreq pad64(63-32) 4 4 32 32
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary pci bus interface page 16 of 706 pnr261_2io.fm.06 august 14, 2000 table 3: pci bus interface signal descriptions signal name quantity type description mframe 1s/t/s cycle frame is driven by the current master to indicate the beginning and duration of an access. pcbe(3-0) 4 t/s bus command and byte enables are multiplexed on the same pci pins. during address phase they define the bus command; during data phase they define the byte enables. mserr 1o/d system error reports address parity errors, data parity errors on the special cycle com- mand, or any other system error where the result will be catastrophic. pad(31-0) 32 s/t/s address and data are multiplexed on the same pins. a bus transaction consists of one address phase and one or more data phases. ppar 1 t/s parity is even parity across ad(31-0) and c/be(3-0). parity generation is required by all pci agents. mperr 1s/t/s parity error is for reporting data parity errors during all pci bus transactions except spe- cial cycle. minta 1 o/d interrupt a is used to request an interrupt. mint2 1o/d or s/t/s this is an interrupt line that will go active low when sources within the pnr go active. it can be optionally connected to pci interrupt b. see 3.3: interrupt and status/control (intst) on page 85 for more details. pidsel 1 in initialization device select is a chip select during configuration transactions. mdevsel 1s/t/s device select indicates the driving device has decoded its address as the target of the current transaction. mtrdy 1s/t/s target ready signals the target agent ? s ability to complete the current data phase of the transaction. mirdy 1 s/t/s initiator ready indicates the bus master ? s ability to complete the current data phase. mstop 1 s/t/s stop indicates the current target is requesting the master to stop the current transaction. mgnt 1 in receives the bus grant line after a request has been made. mreq 1 s/t/s requests the bus for an initiator transfer. pad64(63-32) 32 s/t/s address and data are multiplexed on the same pins and provide 32 additional bits. also, these pins are multiplexed with the enstate outputs, which allow debug of various inter- nal state machines and signals. pcbe64(7-4) 4 t/s bus command and byte enables are multiplexed on the same pci pins for 64-bit transfer support. mreq64 1 s/t/s request 64-bit transfer. has the same timing as mframe . mack64 1 s/t/s acknowledge 64-bit transfer. has the same timing as mdevsel . ppar64 1 s/t/s parity upper dword is the even parity bit that protects pad64(63-32) and pcbe(7-4). when not on a pci bus supporting 64 bits, this will drive enstate outputs. mpmevent 1o/d as a pme source, this signal is active low and indicates a power management event sig- nalled from the pnr. the output need to be conditioned with a card-level fet circuit so that the resulting signal (pme on the pci bus) can be driven with the proper driver charac- teristics. this signal can also function as the pme_enable function for an external source when pro- grammable in this mode in pcint. mextpmevent 1in active low by default but programmable, this input indicates a power management event signalled from some other card component to the pnr. s/t/s = a sustained tri-state pin owned and driven by one and only one agent at a time. the agent that drives the s/t/s pin low must drive it high for at least one clock before letting it float. a new agent cannot start driving a s/t/s signal any sooner that o ne clock after the previous owner tri-states it. a pullup is required to sustain the inactive state until another agent drives it, and must be provided by the central resource.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_2io.fm.06 august 14, 2000 dram memory bus interface page 17 of 706 2.2 dram memory bus interface one control memory and one packet memory bus provide the attachment to the external dram. up to two arrays of 32 data bits plus potential error detection bits may be connected to each bus. figure 6: dram memory bus connections ibm32npcxxepabbd66 pm0cs (3-0) pm0 dqm (3-0) pmsynras (1-0) pmsyncas (1-0) pmclke pmaddr(20-0) pmdata(38-0) cm0cs (3-0) cm0 dqm (3-0) cmsynras (1-0) cmsyncas (1-0) cmwe (1-0) cmclk(4-0) cmclke cmaddr(20-0) cmdata(38-0) packet memory bus control memory bus pmwe (1-0) pmclk(4-0) 4 4 2 2 2 5 4 4 2 2 2 5 21 39 21 39
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary dram memory bus interface page 18 of 706 pnr261_2io.fm.06 august 14, 2000 table 4: dram memory bus interface signal descriptions signal name quantity type function description pm 0 cs (3-0) 4 output packet memory sram chip selects pm 0 cs (3-2) are bank address lines 1 and 0 and pm 0 cs (1-0) are the chip selects for the two arrays when using sdram for packet memory. when using sram, they are either the four chip selects or are eight-encoded chip selects and a valid signal. cm 0 cs (3-0) 4 output control memory sram chip selects cm 0 cs (3-2) are bank address lines 1 and 0 and cm 0 cs (1-0) are the chip selects for the two arrays when using sdram for control memory. when using sram, they are either the four chip selects or are eight-encoded chip selects and a valid signal. pm 0 dqm (3-0) 4 output packet memory dqm lines pmdqm (3-0) are the dqm lines when using sdram for packet memory. they are identical cop- ies of output enable when using sram. pmdqm (3-2) is just another copy of pmdqm (1-0) to reduce loading on the nets. cm 0 dqm (3-0) 4 output control memory dqm lines cm0dqm (3-0) are the dqm lines when using sdram for control memory. they are identical copies of output enable when using sram. cm 0 dqm (3-2) is just another copy of cm 0 dqm (1- 0) to reduce loading on the nets. pmsynras (1-0) 2 output ras signal for packet synchronous dram pmsynras (1-0) are identical copies of the ras signal for packet memory when using sdram. they are byte enables (3-2) when using sram. cmsynras (1-0) 2 output ras signal for control synchronous dram cmsynras (1-0) are identical copies of the ras signal for control memory when using sdram. they are byte enables (3-2) when using sram. pmsyncas (1-0) 2 output cas signal for packet synchronous dram pmsyncas (1-0) are identical copies of the cas signal for packet memory when using sdram. they are byte enables (1-0) when using sram. cmsyncas (1-0) 2 output cas signal for control synchronous dram cmsyncas (1-0) are identical copies of the cas signal for control memory when using sdram. they are byte enables (1-0) when using sram. pmwe (1-0) 2 output packet memory write enable packet memory write enable. cmwe (1-0) 2 output control memory write enable control memory write enable. pmclk(4-0) 5 output packet memory clock five identical copies of the packet memory clock. when wiring packet memory to the pnr, it should be noted that the clock skews (relative to the fastest copy of the packet memory clock) increase in the following order: pmclk(0), pmclk(1), pmclk(2), pmclk(3), pmclk(4). therefore, systems not using all the available copies of the packet memory clock should wire clocks to memory modules begin- ning with the first in this list. pmclke 1 output packet memory clock enable clock enable for packet memory when using sdram. cmclk(4-0) 5 output control memory clock five identical copies of the control memory clock. when wiring control memory to the pnr, it should be noted that the clock skews (relative to the fastest copy of the control memory clock) increase in the following order: cmclk(1), cmclk(4), cmclk(2), cmclk(3), and cmclk(0). therefore, systems not using all the available copies of the control memory clock should wire clocks to memory modules begin- ning with the first in this list.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_2io.fm.06 august 14, 2000 dram memory bus interface page 19 of 706 cmclke 1 output control memory clock enable clock enable output for control memory when using sdram. pmaddr(20-0) 21 output address signals to packet memory cmaddr(20-0) 21 output address signals to control memory pmdata(38-0) 39 input/output data signals to and from the packet memory cmdata(38-0) 39 input/output data signals to and from the control memory. table 5: memory i/o cross reference by device type pnr i/o sync dram 2-bank device sync dram 4-bank device sram xxaddr(20-0) address(20-0) address(20-0) address(20-0) xxcs (3) n/a bank address(1) chip select(3) xxcs (2) bank address(0) bank address(0) chip select(2) xxcs (1-0) chip select(1-0) chip select(1-0) chip select(1-0) xxdqm (3-2) dqm(1-0) dqm(1-0) oe(1-0) 1 xxdqm (1-0) dqm(1-0) dqm(1-0) oe(1-0) 1 xxclke cke cke xxwe (1-0) we(1-0) 1 we(1-0) 1 we(1-0) 1 xxsynras (1-0) ras(1-0) 1 ras(1-0) 1 byte enable(3-2) xxsyncas (1-0) cas(1-0) 1 cas(1-0) 1 byte enable(1-0) xxdata(31-0) data(31-0) data(31-0) data(31-0) xxdata(35-32) ecc(3-0) ecc(3-0) parity(3-0) xxdata(38-36) ecc(6-4) ecc(6-4) n/a 1. all signal groups marked by an asterisk are active at the same time. 2. xx = cm for control memory or pm for packet memory. 3. for sdrams, the dqm signals are active independently for shared ecc configurations. 4. for sdrams with split ecc, the dqms are usually active unless doing burst length two and the dqm is needed to terminate a burst. table 4: dram memory bus interface signal descriptions (continued) signal name quantity type function description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary dram memory bus interface page 20 of 706 pnr261_2io.fm.06 august 14, 2000 table 6: possible memory configurations using sdram with shared ecc module size one array plus ecc two arrays plus ecc storage size number of devices storage size number of devices 1mx16 4mb 3 8mb 5 2mx8 8mb 5 4mx16 16mb 3 32mb 5 8mx8 32mb 5 16mx16 64mb 3 128mb 5 32mx8 128mb 5 note: while it is possible to connect more than five sdram modules to each controller on the pnr, it is likely the capacitive loading will not allow the interface to work at 7.5ns. the memory interface would need to be slowed down to allow the interface to work . table 7: possible memory configurations using sram (see notes 1 and 2) module size memory size for one module memory size for two modules memory size for four modules 2mx18 n/a 8mb 16mb 1mx18 n/a 4mb 8mb 512kx18 n/a 2mb 4mb 256kx18 n/a 1mb 2mb 1mx36 4mb 8mb 16mb 512kx36 2mb 4mb 8mb 256kx36 1mb 2mb 4mb 128kx36 n/a 1mb 2mb 1. for x18 sram modules, half the data bus goes to one module, and the other half goes to a second module. the chip select to th e two modules is common. therefore, two x18 modules can be connected to a single chip select while only one x32 module can. therefore, given a constant number of chip selects, using pairs of x18 ? x ? mb modules results in a memory that is twice as deep as what is possible with x32 modules. using x18 modules also lowers the overall capacitance on the memory data nets. 2. while it is possible with the number of chip selects available (multiplexed or not) to connect more than four sram modules to each controller on the pnr, it is likely the capacitive loading will not allow the interface to work at 7.5ns. the memory inter face would need to be slowed down to allow the interface to work.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_2io.fm.06 august 14, 2000 npbus interface page 21 of 706 2.3 npbus interface the npbus supports access to either an eprom or phy level hardware microprocessor interface. the npbus can operate with an eight-bit multiplexed addr/data bus or an eight-bit data bus with 18 separate address pins. generic transfer control signals work with the phy level hardware microprocessor interface or eprom to accomplish data transfers. figure 7: npbus connections pb 0 phy1 pb 0 phy2 pb 0 eprm pbale1 pbale2 pbaddr16 pbaddr17 pbsclk pbsdata pbrnwrt pbrdrdy pbdata(7-0) pbintra pbphyrst ibm32npcxxepabbd66 npbus signals enstate(63-0) 8 64
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary npbus interface page 22 of 706 pnr261_2io.fm.06 august 14, 2000 table 8: npbus signal descriptions signal name quantity type function description pb 0 phy1 1 output select phy 1 when low, indicates that the pnr has selected phy 1 to write to control registers inside phy 1 or to read either the control or status registers. pb 0 phy2 1 output select phy 2 when low, indicates that the pnr has selected phy 2 to write to control registers inside phy 2 or to read either the control or status registers. see 3.16.1: npbus control register on page 387 for more details. if configured, this pin can also be odd parity across the eight-bit wide bidirectional data bus. it can also be configured as mpmdsel: this control pin, under register bit control, can drive a logical value out. the intention is to select between the different pmd types on the 155 mb/s copper card (utp verses stp). if it is in cascade mode, this bit functions as pidselo (+idsel out), which the primary pnr will drive to the secondary pnr when trying to update configuration space via configuration cycles. this multi- plexed pin also carries the pbdatap signal. enstate (63-0) 64 output when programmed, drives out the real-time state-of-entity state machines, counters, etc. for debug purposes. the (47-32) bits of this bus are also pbaddr(15-0), which are the address lines for the external parallel eprom or phy. additionally, bits 47-40 can be used as bi-directional data bus bits to extend the pbdata bus by providing bits 15-8 of this bus. this allows operation with phy parts that have a fixed 16-bit data but limits the addressing to this phy to only eight address bits. ( lssd test function - scanout(13 to 0) -so -bdy ) pb 0 eprm 1 output eprom select when low, indicates that the pnr has selected the external eprom to read from. after reset, the pnr will start accessing the optional on-card rom/eprom and do the chip initialization func- tion if it does not find a serial eprom attached. pbale1 1 output address latch enable 1 when high, indicates that the pnr has generated an address on the pbdata bus and should be latched by either a phy that sup- ports this muxing or an external octal latch ttl part. for an exter- nal eprom, it will also latch bits 7-0 of the address for an external eprom access. pbale2 1 output address latch enable 2 when high, indicates that the pnr has generated an address on the pbdata bus and should be latched by an external octal latch ttl part that holds bits 15-8 of the address for an external eprom or phy access. pbaddr16 1 output address send 16 supplies address 16 to an external eprom. the pin will also func- tion as pbale3, an address latch enable, that indicates that the pnr has generated an address on the pbdata bus and should be latched by an external octal latch ttl part that holds bits 23-16 of the address for an external eprom access. the mechanism used to set this mode is to put a pull-down resistor on this pin. at reset time, it will be detected and set this bit in pbale3 mode. otherwise it will be in pbaddr16 mode. pbaddr17 1 output address send 17 supplies address 17 to an external eprom. pbsclk 1 output clock for the i 2 c serial eprom accesses s/t/s = a sustained tri-state pin owned and driven by one and only one agent at a time. the agent that drives the s/t/s pin low must drive it high for at least one clock before letting it float. a new agent cannot start driving a s/t/s signal any sooner that o ne clock after the previous owner tri-states it. a pullup is required to sustain the inactive state until another agent drives it and must be provided by the central resource.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_2io.fm.06 august 14, 2000 npbus interface page 23 of 706 pbsdata 1 output or data this is the data bit that connects to the external serial eprom to read from or write to. it must have a pullup resistor attached and supports the i 2 c protocol. the range of supported serial eprom is from 256 to 2 kb. after reset, the pnr will start accessing the optional on-card serial eprom and do the chip initialization func- tion. if this pin is pulled down (or no pullup), the pnr will assume that no serial eprom is attached and will go try to fetch from a par- allel eprom. pbrnwrt 1 output read or write this pin allows the pnr to read from or write to internal registers of the phy parts. this signal acts as the write strobe when talking to pmc-sierra chips such as the suni-lite. pbrdrdy 1 s/t/s this pin allows the pnr to read from or write into internal registers of the phys by acting as a data acknowledge signal from the mem- ory slaves. this signal acts as the read strobe when talking to pmc-sierra chips such as the suni-lite. pbdata(7-0) 8 input/output the pb-bus is an eight-bit wide bidirectional data bus used to inter- face the phys to the pnr. when a data transfer is not happening, the lower four bits act as mled(3-0) - four control pins that, under register bit control, can drive general status to led devices. if no eprom is connected to the pnr, pbdata(7) and pbdata(6) should have external pullup resistors placed on them. pbintra 1 input this input from phy a is an attention line that, when low, indicates that one or more unmasked flags are set in the status registers of phy 1. if additional phy parts are added, they should also dot their inter- rupt line onto this input. pbphyrst 1 output implements the net- work safety features of the device this signal implements the network safety features of the pnr. it is the ored value of reset and all of the status bits cause the pnr to stop transferring data. it is asserted for a pulse, and then removed. this signal is asserted low. table 8: npbus signal descriptions (continued) signal name quantity type function description s/t/s = a sustained tri-state pin owned and driven by one and only one agent at a time. the agent that drives the s/t/s pin low must drive it high for at least one clock before letting it float. a new agent cannot start driving a s/t/s signal any sooner that o ne clock after the previous owner tri-states it. a pullup is required to sustain the inactive state until another agent drives it and must be provided by the central resource.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary phy bus interface page 24 of 706 pnr261_2io.fm.06 august 14, 2000 2.4 phy bus interface the phy bus consists of a transmit data path, receive data paths, and control signals. figure 8: phy bus interface connections fytdat(15-0) fytpar(1-0) fytwrb fytsoc fyrrdb fy 0 renb fy 0 tenb fyrdat(15-0) fyrpar(1-0) fyrca fytca fyrsoc fy 0 ful ibm32npcxxepabbd66 2 16 16 fy 0 emp fyradr(4-0) fytadr(4-0) fyreop fyteop fyrmod fytmod fytsdat fytsclk fyrsdat fyrsclk fydtct fydiscrd phy signals 5 5 fytsdat fytsclk fyrsdat fyrsclk 2
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_2io.fm.06 august 14, 2000 phy bus interface page 25 of 706 table 9: phy bus signal descriptions (page 1 of 3) signal name quantity type function description fytdat (15-0) 16 output phy transmit data when using an external phy, this 16-pin bus carries the atm cell octets that are loaded in the phy transmit fifo. when using the internal framer, bits 15, 14, and 13 are used for the rx hdlc interface signals ofprxr1data, ofprxr1ds, and ofprxrclk, respectively. fytpar (1-0) 2 output transmit data parity when using an external phy, these are byte parity signals for fytdat. when using the internal framer, bit 1 provides the rx out-of-frame indication, oof, and bit 0 provides the opti- cal/electrical module transmit shutdown control signal, ofptx- sdown. when using a pos-phy, bit zero provides the terr signal. fytsoc 1 output transmit start of cell when using an external phy, this indicates the start of cell on fytdat. when using the internal framer, this provides the tx hdlc interface signal, ofptxt1dclk. when using a pos- phy, this indicates tsop. fytwrb 1 output transmit write strobe when using an external phy, this signal is used to write atm cells to the transmit fifo. when using the internal framer, this signal provides the 19.44mhz tx clock, refclkt. when using a utopia cell or pos-phy interface, this signal provides the write clock based on the clock received on the txclk pin. fy 0 tenb 1 output transmit write enable when using an external phy, this indicates that transmit data to the phy is valid. when using the internal framer, this pro- vides the tx hdlc interface signal, ofptxt1ds. fy 0 renb 1 output receive write enable when using an external phy, this indicates to the phy that the pnr is ready to accept data. when using the internal framer, this provides the clock recovery reset signal, rstcrec1. fyrrdb 1 output receive ready strobe when using an external phy, this is used to read atm cells from the phy receive fifo. when using the internal framer, this signal provides the 19.44mhz rx clock, rxbyclk. when using a utopia cell or pos-phy interface, this signal provides the write clock based on the clock received on the rxclk pin. fyrdat(15-0) 16 input phy receive data when using an external phy, this 16-pin bus carries the atm cell octets that are read from the phy receive fifo. fyrpar(1-0) 2 input phy receive data parity when using an external phy, these are byte parity signals for fyrdat. when using the internal framer, bit 1 provides the optical/electrical module low power indication signal, ofptx- lpow, and bit 0 is not used. when using a pos-phy, bit 0 should be connected to rerr. fyrsoc 1 input receive start of cell when using an external phy, this signal indicates the start of cell on the fyrdat bus. fyrca 1 input receive cell available when using an external phy, this indicates that a cell is avail- able in the receive fifo. when using an internal framer, this signal is not used. when using a pos-phy, this signal must be connected to prpa. note: because some of the phy transmit i/os are used for receive framer functions and vice versa, there are some restrictions on how the interfaces can be used. 1. if the transmit path is using an external phy and the receive path is using the internal framer, fytpar(1) will provide out o f frame (oof) status to the framer and will not be available as a parity output. this is only a concern if the phy uses a 16-bit data i nterface and parity is being used. 2. if the receive path is using an external phy and the transmit path is using the internal framer, fyrpar(1) will provide ofptx lpow status to the framer and will not be available as a parity input. this is only a concern if the phy uses a 16-bit data interfac e. if the transmit path is using an external phy and the receive path is using the internal framer, and the external phy has a 16- bit data interface, then the receive hdlc interface cannot be used. the three i/o for the rx hdlc interface will instead take on the fun ction of fytdat(15-13).
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary phy bus interface page 26 of 706 pnr261_2io.fm.06 august 14, 2000 fytca 1 input transmit cell available when using an external phy, this indicates that room for a cell is available in the phy transmit fifo. when using the internal framer, this provides the tx hdlc interface signal, ofptxt1data. when interfacing to pos-phy, this signal should be connected to ptpa. fy 0 ful 1 input phy transmit full when using an external phy, this is asserted low by the phy when it can accept no more than four more data transfers before it is full. this pin should be pulled up to the inactive state when using a phy that does not drive it. when using the internal framer, this provides the tx hdlc interface signal, ofptxt1dfrm. when using a pos-phy interface, this signal must be connected to stpa fy 0 emp 1 input phy receive empty when using an external phy, this is asserted low by the phy to indicate that in the current cycle there is no valid data for delivery to the pnr. when the phy does not drive fy0emp , this input should be tied to the inactive state. when using the internal framer, this signal is not used. when using a pos- phy interface, this signal is connected to rval. fyradr(4-0) 5 output phy receive address when using an external phy (cell or pos-phy based), this address is used to select and poll up to 31 phys on the receive side. bits (1-0) are used to select which of the four phys and bit two is used to indicate the null address. when bit two is b ? 1 ? , bits 1-0 are also ? 1 ? . when bit 2 is ? 0 ? , bits 1-0 are ? 00 ? , ? 01 ? , ? 10 ? , or ? 11 ? . fytadr(4-0) 5 output phy transmit address when using an external phy (cell or pos-phy based), this address is used to select and poll up to 31 phys on the trans- mit side. bits (1-0) are used to select which of the four phys and bit two is used to indicate the null address. when bit two is ? 1 ? , bits 1-0 are also ? 1 ? . when bit 2 is ? 0 ? , bits 1-0 are ? 00 ? , ? 01 ? , ? 10 ? , or ? 11 ? . fyreop 1 input phy receive eop when using an external pos-phy, this signal indicates if the fyrdata (15-0) contains the last data of a packet. if the external phy is not a pos-phy, this signal should be tied to gnd. fyteop 1 output phy transmit eop when using an external pos-phy, this signal indicates if the fytdata (15-0) contains the last data of a packet. if the external phy is not a pos-phy, this signal should ignored. fyrmod 1 input phy receive mod when using an external pos-phy, this signal indicates if the fyrdata (7-0) contains valid data. if fyrmod is ? 1 ? , fyr- data(7-0) is ignored. fyrmod is only relevant when fyreop is ? 1 ? . a value of ? 1 ? any other time will be ignored. if a pos-phy is not connected, this signal should be tied to gnd. fytmod 1 output phy transmit mod when using an external pos-phy, this signal indicates if the fytdata (7-0) contains valid data. if fytmod is ? 1 ? , fyr- data(7-0) will be ignored. fytmod is only driven to a ? 1 ? when fyteop is ? 1 ? . table 9: phy bus signal descriptions (page 2 of 3) signal name quantity type function description note: because some of the phy transmit i/os are used for receive framer functions and vice versa, there are some restrictions on how the interfaces can be used. 1. if the transmit path is using an external phy and the receive path is using the internal framer, fytpar(1) will provide out o f frame (oof) status to the framer and will not be available as a parity output. this is only a concern if the phy uses a 16-bit data i nterface and parity is being used. 2. if the receive path is using an external phy and the transmit path is using the internal framer, fyrpar(1) will provide ofptx lpow status to the framer and will not be available as a parity input. this is only a concern if the phy uses a 16-bit data interfac e. if the transmit path is using an external phy and the receive path is using the internal framer, and the external phy has a 16- bit data interface, then the receive hdlc interface cannot be used. the three i/o for the rx hdlc interface will instead take on the fun ction of fytdat(15-13).
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_2io.fm.06 august 14, 2000 phy bus interface page 27 of 706 fytsdat 1 output serdes transmit data (differential pair) when using the internal framer and the internal serdes, these signals provide the serial transmit data stream. fytsdat 1 fytsclk 1 input serdes transmit clock (differential pair) when using the internal framer and the internal serdes, the reference 155.52mhz clock is supplied on these signals. when not in use, pull fytsclkp low and pull fytsclkn high. fytsclk 1 fyrsdat 1 input serdes receive data (differential pair) when using the internal framer and the internal serdes, the recovered receive data is supplied on these signals. when not in use, pull fyrsdatp low and pull fyrsdatn high. fyrsdat 1 fyrsclk 1 input serdes receive clock (differential pair) when using the internal framer and the internal serdes, the recovered 155.52mhz clock is supplied on these signals. when not in use, pull fyrsclkp low and pull fyrsclkn high. fyrsclk 1 fydtct 1 input phy carrier detect when using an external phy, the phy uses this signal to indi- cate carrier detect. when using the internal framer, this signal provides the deserializer lock detect signal, elockdet, from the deserializer. fydiscrd 1 input phy cell discard when using an external phy, this signal causes the current cell being received to be discarded. in this case it should only be asserted for the duration of one of the 53 bytes of the atm cell. when using the internal framer, this signal provides the optical/electrical module loss-of-signal indication, losssig. table 9: phy bus signal descriptions (page 3 of 3) signal name quantity type function description note: because some of the phy transmit i/os are used for receive framer functions and vice versa, there are some restrictions on how the interfaces can be used. 1. if the transmit path is using an external phy and the receive path is using the internal framer, fytpar(1) will provide out o f frame (oof) status to the framer and will not be available as a parity output. this is only a concern if the phy uses a 16-bit data i nterface and parity is being used. 2. if the receive path is using an external phy and the transmit path is using the internal framer, fyrpar(1) will provide ofptx lpow status to the framer and will not be available as a parity input. this is only a concern if the phy uses a 16-bit data interfac e. if the transmit path is using an external phy and the receive path is using the internal framer, and the external phy has a 16- bit data interface, then the receive hdlc interface cannot be used. the three i/o for the rx hdlc interface will instead take on the fun ction of fytdat(15-13).
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary phy bus interface page 28 of 706 pnr261_2io.fm.06 august 14, 2000 table 10: transmit phy i/o cross reference pnr i/o suni-lite utopia pos-phy internal framer fytwrb tfclk txclk tfclk refclkt fytca tca txclav ptpa ofptxt1data fy 0 ful n/a txfull stpa ofptxt1dfrm fy 0 tenb twrenb txenb tenb ofptxt1ds fytsoc tsoc txsoc tsop ofptxt1dclk fytdat(15) n/a txdata(15) tdata(15) ofprxr1data fytdat(14) n/a txdata(14) tdata(14) ofprxr1ds fytdat(13) n/a txdata(13) tdata(13) ofprxr1dclk fytdat(12-8) n/a txdata(12-8) tdata(12-8) n/a fytdat(7-0) tdat(7-0) txdata(7-0) tdata(7-0) txextdat(7-0) fytpar(1) n/a txprty(1) tprty oof fytpar(0) n/a txprty(0) terr ofptxsdown fytadr(4-0) n/a txaddr(4-0) tadr(4-0) n/a fytmod n/a n/a tmod n/a fyteop n/a n/a teop n/a fytdat n/a n/a n/a tsdat fytdat n/a n/a n/a tsdat fytclk n/a n/a n/a tsclk fytclk n/a n/a n/a tsclk note: signals marked with an overbar are active low. inputs listed as n/a should be tied to their inactive utopia state.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_2io.fm.06 august 14, 2000 phy bus interface page 29 of 706 table 11: receive phy i/o cross reference pnr i/o suni-lite utopia pos-phy internal framer fyrrdb rfclk rxclk rfclk rxbyclk fyrca rca rxclav prpa n/a fy 0 emp n/a rxempty rval n/a fyrenb rrdenb rxenb renb rstcrec1 fyrsoc rsoc rxsoc rsop n/a fyrdat(15-8) n/a rxdata(15-8) rdat(15-8) n/a fyrdat(7-0) rdat(7-0) rxdata(7-0) rdat(7-0) n/a fyrpar(1) n/a rxprty(1) rprty ofptxlpow fyrpar(0) n/a rxprty(0) rerr n/a fryadr(4-0) n/a rxaddr(4-0) radr(4-0) n/a fyrmod n/a n/a rmod n/a fyreop n/a n/a reop n/a fyrsdat n/a n/a n/a rsdat fyrsdat n/a n/a n/a rsdat fyrsclk n/a n/a n/a rsclk fyrsclk n/a n/a n/a rsclk fydtct n/a n/a n/a dtct fydiscrd n/a n/a n/a discrd note: signals marked with an overbar are active low. inputs listed as n/a should be tied to their inactive utopia state.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary clock, configuration, and lssd interface page 30 of 706 pnr261_2io.fm.06 august 14, 2000 2.5 clock, configuration, and lssd interface figure 9: clock, configuration, and lssd connections nselft mpcirst pciclk txclk rxclk mpegclk jtagtck jtagtms jtagtdi pdblclk ppllout bist0di1 dtr cts txd rxd rts dsr ibdinh1 ibdinh2 ibdrinh leaktst plltune(1-0) mpllreset jtcomply testm mhaltppc pffcfg(2-0) pffosc pllti pvdda jtag 0 rst jtagtd0 pintclk ibm32npcxxepabbd66 clock, configuration, and lssd signals pm66en 3 2
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_2io.fm.06 august 14, 2000 clock, configuration, and lssd interface page 31 of 706 table 12: clock, configuration, and lssd signal descriptions signal name quantity type description mpcirst 1 input this signal causes a hardware reset when asserted low. see 3.4: reset and power-on logic (crset/cbist) on page 105 for more details on resets. pciclk 1 input the pc bus clock called clk is a 0-66 mhz clock. pm66en 1 input this pin is high when on a pci bus that runs at 66 mhz. it is used to tell the on-chip pll how to generate clocks. txclk 1 input this is the linkc asynchronous transmit clock. rxclk 1 input this is the linkc asynchronous receive clock. an oscillator should be connected to rxclk even if it is not functionally used. without the rxclk input oscillating, the chip may not reset properly. mpegclk 1 input this is the mpeg asynchronous clock. testm 1 input when the test mode pin is not asserted, this chip runs as specified. when the test mode pin is asserted, the chip is in lssd test mode. transparent latches become clocked latches and i/os change to primary test inputs and test outputs. this signal is asserted high when in test mode. mhaltppc 1 input used by riscwatch to halt the power pc core for debug purposes. this does not need to be in a test/noscan i/o location . pffcfg (2-0) 3 input these bits control the ? find frequency ? function which sets the range bits of the pll. below is the encoded meaning of these bits. 000 reserved (used for quicksim) 001 disable auto range function: set range to < 25.0mhz operation 010 disable auto range function: set range to 25.0-35.0 mhz 011 disable auto range function: set range to 35.0 - 60.0 mhz operation 100 enable auto range function for 19.44 mhz 101 enable auto range function for 19.44 mhz but with internal pll resets disabled. 110 enable auto range function for 25.0 mhz 111 enable auto range function for 32.0 mhz pffosc 1 input this input is the auto range known frequency input that is used to time the pci clock input. this should be connected to some oscillator on the card, for example, the phy oscillator. pllti 1 input when tied to ? 1 ? , this input will cause the pll to do a parametric testing at the wafer and module level. normal mode for this pin is ? 0 ? , so this pin should be pulled low or grounded. pvdda 1 input filtered v dd source to the pll logic. see technology application notes for filter circuit. nselft 1 input minus active selftest input. normal mode is a ? 1 ? . jtag 0 rst 1 input jtag test reset provides an asynchronous initialization of the tap controller. jtagtck 1 input jtag test clock is used to clock state information and test data into and out of the device during operation of the tap. jtagtms 1 input jtag test mode select is used to control the state of the tap controller in the device. ( lssd test function - rarrytclkc - sc ) jtagtdi 1 input jtag test data input is used to serially shift test data and test instructions into the device during tap operation. ( lssd test function - clkdivtclkc-sc ) jtagtdo 1 output test data output is used to serially shift test data and test instructions out of the device dur- ing tap operation. ( lssd test function - prsramabdone and plllock output ) pintclk 1 output this is the external test point to measure the jitter effects of the phase-lock loop circuit. pintclk does not serve any lssd or mfg test function. it does not need to be on a test/noscan location. pdblclk 1 output this is the external test point that is double the frequency of the pintclk. it is used to clock enstate state signals at this frequency. pdblclk does not serve any lssd or mfg test function. it does not need to be on a test/noscan location.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary clock, configuration, and lssd interface page 32 of 706 pnr261_2io.fm.06 august 14, 2000 ppllout 1 output this is an observation output only. this makes the output of the pll observable. this is also the dtr signal when the selrs232 is active. bist0 d i1 1 output drives the di input during bist. connect the bist0di1 output to the ibdinh1 input so the chip drivers are driven to high impedance during a chip reset or while bist is running. add a pullup resistor to this net. dtr 1 input/output rs232 dtr for the core debugger. ( lssd test function - tclka-ac) cts 1 input rs232 cts for the core debugger. ( lssd test function - lpra bypass-ti) txd 1 input/output rs232 txd for the core debugger. ( lssd test function - clkdivtclkb-bc) rxd 1 input/output rs232 rxd for the core debugger. ( lssd test function - bscantclkb-bc) rts 1 input/output rs232 rts for the core debugger. ( lssd test function - bscantclkc-sc) dsr 1 input/output rs232 dsr for the core debugger. ( lssd test function - pll testout) ibdinh1 1 input this is the boundary scan input for bsinh1. should be connected to the bist0di1 output. ibdinh2 1 input this is the boundary scan input for bsinh2(*). ibdrinh 1 input this is the boundary scan input for rinh. this pin should be pulled up for normal operation. leaktst 1 input this is the sti driver/receiver leak test input. plltune(1-0) 2 input these inputs help tune the pll operation. ( lssd test function - scanout(15,14)) mpllreset 1 input this input is active low and resets the pll at power up to avoid vco runaway. this requires a reset circuit that delays a low-to-high level after power-on-reset by 150 s. ( lssd test function - this pin functions as the testct [test clock tree] input. when not asserted, this chip runs as specified. when asserted, the clock tree uses this input to con- trol the clokc tree outputs - ti) jtcomply 1 input this input is high for jtag compliance and low for riscwatch/bist-friendly use. when this pin is high, jtag boundary scan operations may be used to test chip i/o operation and card wiring without supplying clocks to the rest of the chip. also, when the tap controller enters the test logic reset state, the jtag instruction is idcode. when this pin is low, the jtag boundary scan logic works only if the other chip clocks are running in a nor- mal functional manner. when the tap controller enters the test logic reset state, the jtag instruction is bypass in order to make this more compatible with riscwatch. ( lssd test function - sram bist result output) table 12: clock, configuration, and lssd signal descriptions (continued) signal name quantity type description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 33 of 706 3. register descriptions by entity 3.1 the iop bus specific interface controller (pcint) this entity provides pci specific interfacing between the external connection and the internal entities. it will support the following functions:  pci memory target  pci master  address and data latching  parity error detection and generation  configuration space registers  64-bit data path for master and slave operation  64-bit addressing support for master and slave operation  auto 64-bit slot detection supported  66 mhz pci bus clock operation supported 3.1.1 pci options taken  medium address decode design point  interrupt a will be supported, with interrupt 2 as a sideband signal  all register accesses will be responded to as target disconnects 3.1.2 pci target response  a target retry is issued if a burst crosses the end of the pnr ? s memory space.  a target abort will be issued if ad and command bus have bad parity (address phase parity error). optionally, if serr is enabled, it will also be returned.  if enabled, the perr signal will be driven on bad parity during data write cycles (data phase parity error) when the pnr is the target of the command.  a target retry will be issued by the pnr if internal contention will cause a large bus access delay. 3.1.3 pci master response  a master abort will be issued if devsel is not asserted after five clocks.  if enabled, the perr signal will be driven on bad parity during data read cycles (data phase parity error) when the pnr is the initiator of the command. 3.1.4 pci master retry  pnr will retry when requested by the slave.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 34 of 706 pnr261_3pcint.fm.06 august 14, 2000 3.1.5 pcint config word 0 identifies this device and vendor type, allocated by pci sig. length 32 bits type read only address xxxx 0000 restrictions can be read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. power on reset value (big endian) x ? 00a1 1014 ? , but alterable at power-up/reset time with external eprom code. see 3.16: nodal processor bus interface logic (npbus) on page 387 for details. power on reset value (little endian) x ? 1410 a100 ? device id vendor id 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) pci spec name description 31-16 15-0 device id this is a unique two-byte device id assigned to this adapter. 15-0 15-0 vendor id this is a unique two-byte vendor id.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 35 of 706 3.1.6 pcint config word 1 the status register is used to record status information for the pci bus related events. writing ? 1 ? to a bit in this register will reset that bit. the command register provides coarse control over a device ? s ability to gener- ate and respond to pci cycles. access type of the command register is read/write. see bit definitions. length 32 bits type read/write and read/reset address xxxx 0004 power on reset value (big endian) x ? 02b0 0000 ? power on reset value (little endian) x ? 0000 b002 ? restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. detected parity error signaled system error received master abort received target abort signaled target abort devsel timing data parity detected fast back-to-back capable udf supported 66mhz capable reserved reserved fast back-to-back enable serr enable wait cycle control parity error response vga palette snoop memory write and invalidate enable special cycles bus master enable memory space enable i/o space enable 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) pci spec name description 31 15 detected parity error this bit is set by the device whenever it detects a parity error, even if parity error handling is disabled (as controlled by bit 6 of pcint configuration word 1). 30 14 signaled system error this bit is set whenever the device asserts serr . 29 13 received master abort this bit is set by a master device whenever its transaction is terminated with master- abort, except for special cycle. 28 12 received target abort this bit is set by a master device whenever its transaction is terminated with target-abort. 27 11 signaled target abort this bit is set by a target device whenever its transaction is terminated with target-abort. 26-25 10-9 devsel timing these bits are hard-wired to ? 01 ? , assuming medium address decode.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 36 of 706 pnr261_3pcint.fm.06 august 14, 2000 24 8 data parity detected this bit is implemented by this bus master. it is set when this agent asserts perr or observes perr asserted, and this agent setting the bit acted as the bus master for the operation in which the error occurred, and bit 6 of pcint configuration word 1 is set. 23 7 fast back-to-back capable defaults to ? 1 ? unless by external eprom code. see 3.16: nodal processor bus interface logic (npbus) on page 387 for details. 22 6 reserved defaults to ? 0 ? unless set by external eprom. see 3.16: nodal processor bus interface logic (npbus) on page 387 for details. 21 5 66mhz capable defaults to ? 1 ? unless set by external eprom. see 3.16: nodal processor bus interface logic (npbus) on page 387 for details. 20 4 capabilities list this bit on indicates that this device implements the pointer for a new capabilities linked list at the offset 34th. see the pci spec revision 2.2 for more details on new capabilities. defaults to ? 1 ? unless set by external eprom code. see 3.16: nodal processor bus inter- face logic (npbus) on page 387 for details. 19-16 3-0 reserved reserved. 15-10 15-10 reserved reserved. 9 9 fast back-to-back enable this bit can be set to a value, but is ignored by this dma master since it never drives these types of cycles. this slave, as indicated by bit 23, however, can handle fast back- to- back addresses to it. initialization software will set this bit if all targets are fast back-to- back capable. 8 8 serr enable if this bit is ? 1 ? , the serr driver is enabled. 7 7 wait cycle control this bit is hard-wired to ? 0 ? because stepping is not supported by this master. 6 6 parity error response when this bit is ? 1 ? , normal action is taken when a parity error is detected. when it is ? 0 ? , any parity errors detected are ignored and normal operation is continued. 5 5 vga palette snoop this bit is not implemented. 4 4 memory write and invalidate enable this bit is not implemented. 3 3 special cycles this bit is set to ? 0 ? , and will not monitor special cycle operations. 2 2 bus master enable if this bit is ? 1 ? , this device will be allowed to act as a bus master. 1 1 memory space enable if this bit is ? 1 ? , this device will respond to memory space accesses. 0 0 i/o space enable if this bit is ? 1 ? , this device will respond to i/o space accesses. bit(s) pci spec name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 37 of 706 3.1.7 pcint config word 2 the class code is used to identify the generic function for this device. the revision id is used to identify the level of function for this device. see bit definitions. length 32 bits type read only address xxxx 0008 power on reset value (big endian) x ? 0203 0026 ? power on reset value (little endian) x ? 2600 0302 ? restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. upper byte middle byte lower byte revision id 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) pci spec name description 31-24 23-16 upper byte the upper byte of the class code is a base code that broadly classifies the type of func- tion this device performs. code chosen is: x ? 02 ? - network controller. this register can be written to any value by external eprom code so that it can report being an different type of function. 23-16 15-8 middle byte the middle byte of the class code is a sub-class code that identifies more specifically the function of this device. code chosen is: x ? 03 ? - atm controller. this register can be written to any value by external eprom code so that it can report being an different type of device. 15-8 7-0 lower byte the lower byte of the class code identifies a specific register-level programming inter- face so that device independent software can interact with this device. 7-0 7-0 revision id this is the revision level of this chip.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 38 of 706 pnr261_3pcint.fm.06 august 14, 2000 3.1.8 pcint config word 3 this word specifies the system cache size in units of 32-bit words, the value of the latency timer for this pci bus master, the header type which identifies the layout of bytes in configuration space, and the register for the control and status of bist (built-in self-test). see bit definitions. length 32 bits type read/write address xxxx 000c power on reset value (big endian) x ? 8000 0000 ? power on reset value (little endian) x ? 0000 0080 ? restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. bist capable start bist reserved completion code header type (read only) latency timer cache line size 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) pci spec name description 31 7 bist capable this bit is a ? 1 ? because this device supports bist. 30 6 start bist writing this bit ? 1 ? invokes bist. this bit is reset to ? 0 ? after bist is complete. this bit has two seconds to reset after a start bist action. 29-28 5-4 reserved reserved. 27-24 3-0 completion code a value of ? 0 ? means this device has passed bist. if bit 27 is on, the prpg value failed. if bit 26 is on, the misr value failed. bits 25 and 24 are always ? 0 ? . 23-16 7-0 header type (read only) the encoding chosen is x ? 00 ? . 15-8 7-0 latency timer this register specifies a value of latency in units of pci bus clocks. 7-0 7-0 cache line size this register is used to best determine what read command should be used by this mas- ter. any cache line size is supported.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 39 of 706 3.1.9 pcint base address 1 (i/o for register) this register specifies the base address of where in pci i/o or memory space the pnr registers will be mapped. when written with ? 1 ? s and read back, the least significant bits read back as ? 0 ? will indicate the amount of i/o space required for this device to operate. for example, when a value of x ? ffff ffff ? is writ- ten, a value read of x ? ffff ff00 ? indicates that 256 bytes of address space is required. see bit definitions. the programming of this bit depends on whether the pnr is in 64-bit addressing mode or not. when in 64-bit addressing mode, bit 7 of the pcint 64-bit controller register is set to ? 1 ? , and this register specifies a mem- ory address. when the pnr is not in 64-bit addressing mode because bit 7 of the pcint 64-bit control reg- ister is set to ? 0 ? , this register specifies an i/o address. see bit definitions and 3.1.21: pcint 64-bit control register on page 56. when in 64-bit addressing mode (bit 7 of pcint 64-bit control register is set to ?1?): length 32 bits type read/write address xxxx 0010 power on reset value (big endian) x ? 0000 0001 ? power on reset value (little endian) x ? 0100 0000 ? restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. bit 17 in the pcint base address control register must be set to allow the pnr to decode addresses for this range. base address prefetchable 00 memory space 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) pci spec name description 31-4 31-4 base address this register is used to hold the address where the target device will decode for memory accesses. the size is 32 kb of addressing, naturally aligned. this means that only bits 31-15 are writable. 3 3 prefetchable reserved and set to ? 0 ? . 2-1 2-1 00 this base address can be mapped anywhere in 32-bit address space. the value of these bits is ? 00 ? . 0 0 memory space this is memory space, so the bit is set to ? 0 ? .
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 40 of 706 pnr261_3pcint.fm.06 august 14, 2000 when not in 64-bit addressing mode (bit 7 of pcint 64-bit control register is set to ? 0 ? ): base address reserved i/o space 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) pci spec name description 31-2 31-2 base address this register is used to hold the address where the target device will decode for i/o accesses. the size is 32kb of addressing, naturally aligned. this means that only bits 31- 15 are writable. the pci specification only allows 256 bytes of i/o base address, so this address is only for special applications. using the feature of non-postable writes for i/o cycles must accompany enough i/o space in the system memory map. 11reservedset to ? 0 ? . 0 0 i/o space set to ? 1 ? .
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 41 of 706 3.1.10 pcint base address 2 (mem for register) this register specifies the base address of where in pci memory space the pnr registers will be mapped. when written with ? 1 ? s and read back, the least significant bits read back as ? 0 ? will indicate the amount of memory space required for this device to operate. for example, when a value of x ? ffff ffff ? is written, a value read of x ? ffff ff00 ? indicates that 256 bytes of address space this required. see bit definitions. the programming of this bit depends on whether the pnr is in 64-bit addressing mode. when in 64-bit addressing mode, bit 7 of the pcint 64 bit controller register is set to ? 1 ? , and this register specifies a mem- ory address. when the pnr is not in 64-bit addressing mode because bit 7 of the pcint 64-bit control reg- ister is set to ? 0 ? , this register specifies an i/o address. see bit definitions and 3.1.21: pcint 64-bit control register on page 56. when in 64-bit addressing mode (bit 7 of pcint 64-bit control register is set to ? 1 ? ): length 32 bits type read/write address xxxx 0014 power on reset value (big endian) x ? 0000 0000 ? power on reset value (little endian) x ? 0000 0000 ? restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. bit 16 in the pcint base address control register must be set to allow the pnr to decode addresses for this range. base address 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) pci spec name description 31-0 31-0 upper part of base address this register is used to hold the upper 32 bits of address during a 64 bit addressing dual cycle access.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 42 of 706 pnr261_3pcint.fm.06 august 14, 2000 when not in 64-bit addressing mode (bit 7 of pcint 64-bit control register is set to ? 0 ? ): base address prefetchable reserved memory space 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) pci spec name description 31-4 31-4 base address this register is used to hold the address where the target device will decode for memory accesses. the size is 32 kb of addressing, naturally aligned. this means that only bits 31-15 are writable. 3 3 prefetchable this memory space is non-prefetchable, so this bit is set to ? 0 ? . this means that there are side effects on reads. 2-1 2-1 reserved this base address can be mapped anywhere in 32 bit address space. the value of these bits is set to ? 00 ? . 0 0 memory space this is memory space, so this bit is set to ? 0 ? .
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 43 of 706 3.1.11 pcint base addresses 3-6 (memory) this register specifies the base address of where in pci memory space the pnr memory will be mapped. when written with ? 1 ? s and read back, the least significant bits read back as ? 0 ? will indicate the amount of memory space required for this device to operate. for example, when a value of x ? ffff ffff ? is written, a value read of x ? ffff ff00 ? indicates that 256 bytes of address space this required. see bit definitions. the mapping for the base address of registers into pnr ? s memory is one-to-one, assuming a memory win- dowing option is not set in the pcint base addr control register for that base address register (bar). multi- ple bars are only used to use a given system memory map more efficiently. as required by the bar, the addresses are size-aligned. for example, a 16 mb size could be represented with one bar as one 16 mb size aligned on a 16 mb boundary. however, four 4 mb bars could represent the same 16 mb size but be aligned on any 4 mb boundary. the value in any of the bars does not map directly to any particular pnr memory structure, such as control memory. the addresses are mapped using the virtual, packet, and con- trol base address registers in vimem. when in 64-bit addressing mode (bit 7 of pcint 64-bit control register is set to ? 1 ? ): length 32 bits type read/write address reg 3 xxxx 0018 reg 4 xxxx 001c reg 5 xxxx 0020 reg 6 xxxx 0024 power on reset value (big endian) x ? 0000 0008 ? power on reset value (little endian) x ? 0800 0000 ? restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. if one of these registers is not enabled (see 3.1.18: pcint base address control register on page 51), then a read of that register will return all ? 0 ? s. the power on value stated below assumes that the register is enabled. normally, configuration code will just read these registers to find out what is there. to enable more that the default of registers 3 and 4, the use of external eprom code could be used. see 3.16: nodal processor bus interface logic (npbus) on page 387 for details. base address 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) pci spec name description 31-0 31-0 upper part of base address this register is used to hold the upper 32 bits of address during a 64-bit addressing dual cycle access.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 44 of 706 pnr261_3pcint.fm.06 august 14, 2000 when not in 64-bit addressing mode (bit 7 of pcint 64-bit control register is set to ? 0 ? ): note: these registers power up to x ? 0800 0000 ? if accessed little endian. base address prefetchable type memory space 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) pci spec name description 31-4 31-4 base address this register is used to hold the address where the target device will decode for memory accesses. the size of addressing is naturally aligned and determined by what is set in the pcint base address control register. 3 3 prefetchable this memory space is prefetchable, so this bit is set to a ? 1 ? . this means that there are no side effects on reads, all bytes are returned on reads regardless of byte enables, and host bridges can merge processor writes into this range without causing errors. 2-1 2-1 type this base address can be mapped anywhere in 32-bit address space. the value of these bits is ? 00 ? . 0 0 memory space set to ? 0 ? .
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 45 of 706 3.1.12 pcint cardbus cis pointer this register contains the offset to where the card information structure (cis) is located. see bit definitions. length 32 bits type read/write address xxxx 0028 power on reset value x ? 0000 0000 ? restrictions cannot be written unless by external eprom, or the pci configuration space over- ride write bit is on. see 3.16: nodal processor bus interface logic (npbus) on page 387 for details. reserved address space indicator address space offset 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31 reserved reserved. 30-27 address space indicator can be set by external eprom code, likely to be in expansion rom space. see 3.16: nodal processor bus interface logic (npbus) on page 387 for details. 26-0 address space offset this field has the offset into expansion rom that is the location of the cis. see the pcm- cia v2.10 specification for details of the cis.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 46 of 706 pnr261_3pcint.fm.06 august 14, 2000 3.1.13 pcint subsystem id/vendor id this register contains the subsystem id and subsystem vendor id. see bit definitions. other possible codes that could be returned for the subsystem id are listed below. the correctness of their value is superseded by higher (ioa card) levels of documentation. length 32 bits type read/write address xxxx 002c power on reset value (big endian) x ? xxxx 1014 ? power on reset value (little endian) x ? 1410 xxxx ? restrictions cannot be written unless by external eprom, or if bit 19 of the 3.1.18: pcint base address control register on page 51 is on. reserved subsystem id subsystem vendor id 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31 reserved reserved. 30-16 subsystem id generally will be set by external eprom code. if not set by external eprom, this value defaults to zero. see 3.16: nodal processor bus interface logic (npbus) on page 387 for details. 15-0 subsystem vendor id default value is the ibm vendor id.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 47 of 706 3.1.14 pcint rom base address this register specifies the base address of where in pci memory space the pnr rom will be mapped. when written with ? 1 ? s and read back, the least significant bits read back as ? 0 ? will indicate the amount of memory space required for this device to operate. for example, when a value of x ? ffff ffff ? is written, a value read of x ? ffff ff00 ? indicates that 256 bytes of address space is required. see bit definitions. length 32 bits type read/write address xxxx 0030 power on reset value x ? 0000 0000 ? restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. base address reserved address decode enable 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) pci spec name description 31-10 31-11 base address this register is used to hold the address where the target device will decode for expansion rom. the size is fixed at 2 kb of addressing, natu- rally aligned. 9-1 10-1 reserved reserved and set to ? 0 ? . 0 0 address decode enable this bit set to ? 1 ? will enable accesses to expansion rom only if memory space enable bit (bit 1 in pcint configuration word 1) is also set.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 48 of 706 pnr261_3pcint.fm.06 august 14, 2000 3.1.15 capabilities pointer this register contains the capabilities pointer. see bit definitions. length 32 bits type read only address xxxx 0034 power on reset value (big endian) x ? 0000 00c0 ? power on reset value (little endian) x ? c000 0000 ? restrictions cannot be written by external eprom or when bit 19 of 3.1.18: pcint base address control register on page 51 is set. reserved capabilities pointer 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-8 reserved reserved. 7-0 capabilities pointer used to point to a linked list of new capabilities implemented by this device. the register is valid only if bit 20 of 3.1.6: pcint config word 1 on page 35 is set. bits 0 and 1 are always ? 0 ? .
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 49 of 706 3.1.16 pcint config word 15 this register is used to communicate interrupt line routing information, tell which interrupt pin this device uses, and specify the desired setting for latency timer values. see bit definitions. length 32 bits type read/write address xxxx 003c power on reset value (big endian) x ? 0001 0100 ? power on reset value (little endian) x ? 0001 0100 ? restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. max_lat (read only) min_gnt (read only) interrupt pin (read only) interrupt line 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) pci spec name description 31-24 7-0 max_lat (read only) this value specifies a period of time in units of 1/4 microsecond. max_lat is used for specifying how often this device needs to gain access to the pci bus. 23-16 7-0 min_gnt (read only) this value specifies a period of time in units of 1/4 microsecond. min_gnt is used for specifying how long a burst period this device needs, assuming a 33mhz clock rate. 15-8 7-0 interrupt pin (read only) this device used inta for its pci bus interrupt. value of this field is ? 01 ? . 7-0 7-0 interrupt line software will write the routing information into this register as it initializes and configures the system.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 50 of 706 pnr261_3pcint.fm.06 august 14, 2000 3.1.17 pcint endian control register this register allows control and status to the big/little endian address selection. it controls the byte order across the pci bus. see bit definitions. length 32 bits type read/write address xxxx 0058 power on reset value x ? 0000 0000 ? restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. reserved see bits 4 - 0 reserved byte swap for expansion rom (on-card flash) reverse the byte order for the vpd data register byte swap for configuration registers byte swap for register accesses (memory or i/o space) byte swap for memory 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-29 reserved reserved. 28-24 see bits 4-0 same as the definitions for bits 4-0. 23-5 reserved reserved. 4 byte swap for expansion rom (on-card flash) when this bit is set to ? 1 ? , the bytes of an internal expansion rom access (big endian view) will be swapped to and from the pci interface. 3 reverse the byte order for the vpd data register when this bit is set to ? 1 ? , the bytes of the vital product data interface - word 2 register access will be swapped in reverse order to which bits 2 or 1 are set. 2 byte swap for configuration registers when this bit is set to ? 1 ? , the bytes of an internal configuration register access (big endian view) will be swapped to and from the pci interface. 1 byte swap for register access (memory or i/o space) when this bit is set to ? 1 ? , the bytes of an internal register access (big endian view) will be swapped to and from the pci interface. 0 byte sway for memory when this bit is set to ? 1 ? , the bytes of an internal packet/control/virtual memory access (big endian view) will be swapped to which bits 2 or 1 are set.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 51 of 706 3.1.18 pcint base address control register this register controls all the base address registers that map to memory. see bit definitions. length 32 bits type read/write address xxxx 005c power on reset value (big endian) x ? 0011 000f ? power on reset value (little endian) x ? 0f00 1100 ? restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. reserved allow decoding for zero base address values enforce sequential pci register writes enforce sequential pci register reads disable retrying on the 1st cycle of a memory access enable writing to special config registers disable incremental latency time-out retries enable pcint base address 1 (i/o for regs) enable pcint base address 2 (mem for regs) encoded control for pcint base address 6 (memory) encoded control for pcint base address 5 (memory) encoded control for pcint base address 4 (memory) encoded control for pcint base address 3 (memory) 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-24 reserved reserved. 23 allow decoding for zero base address values setting this bit to ? 1 ? will enables decoding of a bar address that is set to ? 0 ? . normally, the pci specification does not allow for a zero address to be a valid decode. 22 enforce sequential pci register writes setting this bit to ? 1 ? ensures that pci register writes will occur in sequential order of prior memory accesses or register reads. the cost for doing this is possible extra retry cycles for accesses not dependent on other posted accesses to complete. 21 enforce sequential pci register reads setting this bit to ? 1 ? ensures that pci register reads will occur in sequential order of prior memory accesses or register writes. the cost for doing this is possible extra retry cycles for accesses not dependent on other posted accesses to complete.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 52 of 706 pnr261_3pcint.fm.06 august 14, 2000 20 disable retrying on the 1st cycle of a memory access setting this bit to ? 1 ? disables the retrying of a memory access to pnr. this causes a pci spec violation, but not a data integrity problem. it solves the rare problem in which two masters are accessing control memory at the same time and retries happen to both end- lessly. 19 enable writing to special config registers setting this bit to ? 1 ? enables writing to certain registers that are normally read-only. an example of this is the vendor and function id register (pcint configuration word 0). 18 disable incremental latency time-out retries setting this bit to ? 1 ? disables pci retries due to cycles taking more than eight cycles on burst accesses after the first access. 17 enable pcint base address 1 (i/o for regs) setting this bit to ? 1 ? enables pcint base address 1 (i/o for registers). this does the same function as bit 0 in the pcint configuration word 1 register, but also makes the pcint base address 1 (i/o for regs) read back ? 0 ? s even when written to with values. it guards against anything that bios code may do to pcint configuration word 1 register bit 0 if i/o accesses are not desired. 16 enable pcint base address 2 (mem for regs) setting this bit to ? 1 ? enables pcint base address 2 (mem for regs) so pnr registers can be accessed by pci memory cycles. 15-12 encoded control for pcint base address 6 (memory) same as bits 3-0. 11-8 encoded control for pcint base address 5 (memory) 7-4 encoded control for pcint base address 4 (memory) 3-0 encoded control for pcint base address 3 (memory) encoding of bits: x ? 0 ? disable this base address. x ? 1 ? configured to respond to a 2 gb address size. x ? 2 ? configured to respond to a 1 gb address size. x ? 3 ? configured to respond to a 512 mb address size. x ? 4 ? configured to respond to a 256 mb address size. x ? 5 ? configured to respond to a 128 mb address size. x ? 6 ? configured to respond to a 64 mb address size. x ? 7 ? configured to respond to a 32 mb address size. x ? 8 ? configured to respond to a 16 mb address size. x ? 9 ? configured to respond to a 8 mb address size. x ? a ? configured to respond to a 4 mb address size. x ? b ? configured to respond to a 2 mb address size. x ? c ? configured to respond to a 1 mb address size. x ? d ? configured to respond to a 64-kb address size, and enables internal windowing of memory. x ? e ? configured to respond to a 32-kb address size, and enables internal windowing of memory. x ? f ? configured to respond to a 16-kb address size, and enables internal window. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 53 of 706 3.1.19 pcint window offsets for base addresses 3-6 these registers specify the amount of memory space required for this device to operate. see bit definitions. length 32 bits type read/write address reg 3 xxxx 0060 reg 4 xxxx 0064 reg 5 xxxx 0068 reg 6 xxxx 006c power on reset value x ? 0000 0000 ? restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. windowing offset range reserved 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-14 windowing offset range this register is used to hold the address offset, which is added to the pci address (when windowing is enabled) to form the internal memory address. bits 15 and 14 may or may not be used, depending on how bits are set in the pcint base address control register. when bit 20 of pcint count timeout register is set, window offset register three can be updated with the address returned from a good get buffer from pools. this will save a write from code to this register. when bit 20 of pcint count timeout register is set, window offset register four can be updated with the address returned from a dequeue from the receive queue. this will save a write from code to this register. 13-0 reserved reserved.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 54 of 706 pnr261_3pcint.fm.06 august 14, 2000 3.1.20 pcint count timeout register this register holds the count limit of pci slave retry cycles. see bit definitions. length 32 bits type read/write address xxxx 0070 power on reset value (big endian) x ? 0300 ffff ? power on reset value (little endian) x ? ffff 0003 ? restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. reserved register read retry timeout value reserved enable dynamic window offset updates disable register retry accesses disable pci locking function disable slave machine external eprom retry active slave transaction timeout retry timeout count 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-27 reserved reserved. 26-24 register read retry timeout value the bits can be set to determine how many pci cycles a register access will wait for an internal cycle to complete for a read access. it can be programmed to wait for up to seven cycles. a value of ? 0 ? will not timeout this access with a retry. 23-21 reserved reserved. 20 enable dynamic window offset updates setting this bit to a ? 1 ? enables the pcint window offsets for base addresses 3-4 to be updated. see 3.1.19: pcint window offsets for base addresses 3-6 on page 53 for more information. 19 disable register retry accesses setting this bit to ? 1 ? disables pci retry signaling during a register or primitive access. 18 disable pci locking function setting this bit to ? 1 ? disables this pci locking function when set to ? 1 ? 17 disable slave machine this bit is for external eprom code use. when set to ? 1 ? , it disables all responses to the pci bus in slave mode. in general, never turn this bit on. bit 19 of the pcint base address control register must be set before this bit can be changed.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 55 of 706 16 reserved reserved. 15-8 slave transaction timeout these bits hold a value that is used to count the number of pci clocks times 256 when a pci slave cycle is in progress. if the count is reached, due to some internal chip hang condition, a target abort is issued. a value of ? 0 ? disables target aborts from this function. 7-0 retry timeout count these bits hold a value that is used to count the number of pci retries. the maximum count is 256 times, 16 retries. if the count is reached, a target abort is issued. a value of ? 0 ? will disable target aborts from this function. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 56 of 706 pnr261_3pcint.fm.06 august 14, 2000 3.1.21 pcint 64-bit control register this register contains miscellaneous control bits. length 32 bits type read/write address xxxx 0078 power on reset value (big endian) x ? 0000 0xxx ? , where the ? x ? values depend on whether bit 0 is set and values of the enable bits in pcint 64-bit enable register. power on reset value (little endian) x ? xx0x 0000 ? , where the ? x ? values depend on whether bit 0 is set and values of the enable bits in pcint 64-bit enable register. restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. reserved enable master 64-bit data path enable master 64-bit addressing enable slave register swap word mode enable slave 64-bit data path enable slave 64-bit addressing pci ad(63-32) driver control enable slave memory swap word mode enable 64bit data phase parity checking 64-bit slot detected 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-9 reserved reserved. 8 enable master 64-bit data path this bit set to ? 1 ? will enable master 64-bit data path for dma transfers. this does the same as bit 0 (only inverted) of the 3.1.26: pci master options control on page 62 but with the added control of 3.1.22: pcint 64-bit enable register on page 57. 7 enable master 64-bit addressing this bit set to ? 1 ? will enable master 64-bit addressing. when this bit is set, the dma descriptor formats changes such that an extra dword of addressing must be added. also, the dmaqs enque register address changes such that x ? 4 ? will be subracted. (example would be x ? 06a4 ? would become x ? 06a0 ? ) 6 enable slave register swap word mode this bit set to ? 1 ? will enable word swapping of the each of the four groups of data bytes in an eight-byte register transfer. 5 enable slave 64-bit data path this bit set to ? 1 ? will enable the slave 64-bit data path for registers and packet/control/vir- tual memory.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 57 of 706 3.1.22 pcint 64-bit enable register see 3.1.21: pcint 64-bit control register on page 56 for the bitwise description that the corresponding bit in this register will enable (a value of ? 1 ? means enabled). any bit in this register anded with bit 0 of pcint 64- bit control register will determine if the other bits in pcint 64-bit control register are set. 4 enable slave 64-bit addressing this bit set to ? 1 ? will enable slave 64-bit addressing, making base addresses 1 and 2 available for register accesses (memory cycles only) and base addresses 3 and 4 avail- able for packet/control/virtual memory. this mode is unrelated to dma addressing (bit 7 of this register). the base address registers (bar) will now all be 64 bits in size. when the higher order 4 bytes of these registers are zero, that means that they will be operating in a 32-bit addressing environment. 3 pci ad(63-32) driver control this bit set to ? 1 ? will cause the ad(63-32) pci drivers to force to tri-state unless a 64-bit access is occurring. otherwise, when set to ? 0 ? , the drivers will always drive active. 2 enable slave memory swap word mode this bit set to ? 1 ? will enable word swapping of the each of the four groups of data bytes in an eight-byte slave memory transfer through bcach. 1 enable 64-bit data phase parity checking this bit set to ? 1 ? will enable the data phase parity checking on bits 32 to 63 of the ad pci bus. 0 64-bit slot detected this bit will set when the req64 i/o pin was low bus when rst went inactive. this bit is a read-only status bit. this bit on, combined with the status of the corresponding bit in the pcint 64-bit enable register will determine the value of other bits in this register. length 32 bits type read/write address xxxx 0088 power on reset value (big endian) x ? 0000 0008 ? power on reset value (little endian) x ? 0800 0000 ? restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 58 of 706 pnr261_3pcint.fm.06 august 14, 2000 3.1.23 pcint perf counters control register this register contains control bits for the pcint performance counter 1 and pcint performance counter 2. length 32 bits type read/write address xxxx 007c power on reset value (big endian) x ? 0000 0000 ? power on reset value (little endian) x ? 0000 0000 ? restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. reserved inject target abort inject inverted par64 inject inverted par inject serr inject perr data transfer width control - counter 2 data transfer width control - counter 1 data direction - counter 2 data direction - counter 1 counter modes master/slave types - counter 2 cycles types - counter 2 master/slave types - counter 1 cycles types - counter 1 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-29 reserved reserved. 28 inject target abort this bit on will make the target respond with a target abort sequence, provided all the other conditions are set correctly in this register. 27 inject inverted par64 this bit on will invert the value of pci par64, provided all the other conditions are set correctly in this register. 26 inject inverted par this bit on will invert the value of pci par, provided all the other conditions are set cor- rectly in this register. 25 inject serr this bit on will flow a pci serr , provided all the other conditions are set correctly in this register. bit 8 of the pcint config word 1 does not need to be set to cause this condition. 24 inject perr this bit on will flow a pci perr , provided all the other conditions are set correctly in this register. bit 6 of the pcint config word 1 does not need to be set to cause this condition. 23-22 data transfer width control - counter 2 these bits will determine which kind of cycle to count based on the transfer size for counter 2. see bits 21-20.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 59 of 706 21-20 data transfer width control - counter 1 these bits will determine which kind of cycle to count based on the transfer size for counter 1. x ? 0 ? all transfers x ? 1 ? 32 bit transfers only x ? 2 ? 64 bit transfers only x ? 3 ? enable data direction (bits 18 or 19) 19 data direction - counter 2 these bits will determine which kind of cycle to count based on the data direction - in or out of the pnr for counter 2. 18 data direction - counter 1 these bits will determine which kind of cycle to count based on the data direction - in or out of the pnr for counter 1. x ? 0 ? data in x ? 1 ? data out 17-16 counter modes these bits will determine which kind of mode both counters will operate in. x ? 0 ? stop on overflow x ? 1 ? interrupt on wrap x ? 2 ? event on wrap x ? 3 ? inject active errors on overflow 15-12 master/slave types - counter 2 these bits determine which kind of pci cycle owners to be counted for counter 2. see bits 7-4. 11-8 cycles types - counter 2 these bits determine what kind of pci events are to be counted for counter 2. see bits 3- 0. 7-4 master/slave types - counter 1 these bits determine which kind of pci cycle owners to be counted for counter 1. x ? 0 ? all devices on the pci bus x ? 1 ? all devices but pnr x ? 2 ? pnr only (master or slave) x ? 3 ? pnr master x ? 4 ? pnr slave (all types) x ? 5 ? pnr slave register accesses x ? 6 ? pnr slave memory accesses 3-0 cycles types - counter 1 these bits will determine what kind of pci events are to be counted for counter 1. x ? 0 ? off x ? 1 ? all pci clock cycles x ? 2 ? active pci bus cycles (frame + irdy + trdy) x ? 3 ? pci data xfer opportunities ((irdy + trdy) & devsel) x ? 4 ? pci data xfers (irdy & trdy) x ? 5 ? pci retries (irdy & no trdy & devsel & stop) x ? 6 ? pci address phase (frame & not frame delayed) x ? 7 ? pci disconnects (irdy & trdy & devsel & stop) bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 60 of 706 pnr261_3pcint.fm.06 august 14, 2000 3.1.24 pcint perf counter 1 this register contains pci performance counter 1. length 32 bits type read/write address xxxx 0080 power on reset value (big endian) x ? 0000 0000 ? power on reset value (little endian) x ? 0000 0000 ? restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. counter 1 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 counter 1 see 3.1.23: pcint perf counters control register on page 58 for information on how this counter will increment.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 61 of 706 3.1.25 pcint perf counter 2 this register contains pci performance counter 2. length 32 bits type read/write address xxxx 0084 power on reset value (big endian) x ? 0000 0000 ? power on reset value (little endian) x ? 0000 0000 ? restrictions can be written or read during configuration cycle, memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. counter 2 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 counter 2 see 3.1.23: pcint perf counters control register on page 58 for information on how this counter will increment.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 62 of 706 pnr261_3pcint.fm.06 august 14, 2000 3.1.26 pci master options control this register contains the control register when the pnr is the pci master. length 32 bits type read/write address xxxx 008c power on reset value (big endian) x ? 0000 0000 ? power on reset value (little endian) x ? 0000 0000 ? restrictions none disable devto errors to gpdma disable master detected target abort errors to gpdma disable master detected perr errors to gpdma reserved disable master detected parity errors to gpdma reserved encoded control for dma reads reserved arbitration priority vshurryup rqhurryup prhurryup rd8bytes reserved 4byte32 a32swapwords assume32 313029282726252423222120191817161514131211109876543210 bit(s) name description 31 disable devto errors to gpdma setting this bit to ? 1 ? will disable device timeout errors from stopping a gpdma transfer. 30 disable master detected target abort errors to gpdma setting this bit to ? 1 ? will disable master detected target abort errors from stopping a gpdma transfer. 29 disable master detected perr errors to gpdma setting this bit to ? 1 ? will disable master detected perr errors from stopping a gpdma transfer. 28 reserved reserved. 27 disable master detected parity errors to gpdma setting this bit to ? 1 ? will disable master detected parity errors from stopping a gpdma transfer 26 reserved reserved.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 63 of 706 25-24 encoded control for dma reads encoding of bits: x ? 0 ? let the pnr pick the best memory read command based on the cacheline size bits and the dma count. x ? 1 ? fix the read dma command to memory read multiple. x ? 2 ? fix the read dma command to memory read line. x ? 3 ? fix the read dma command to memory read. 23-16 reserved reserved. 15-8 arbitration priority pci master will cease using a default round-robin scheme for internal requestor arbitra- tion if these bits are not all ? 0 ? . bits 15-14 are the priority level for gpdma. bits 13-12 are the priority level for pcore. bits 11-10 are the priority level for rxque. bits 9-8 are the priority level for intst. valid levels are 3, 2, 1, and 0. only 4 levels can be used. 7 vshurryup pci master will inform gpdma to hurryup if vstat is waiting. 6 rqhurryup pci master will inform gpdma to hurryup if rxque is waiting. 5 prhurryup pci master will inform gpdma to hurryup if pcore is waiting. 4 rd8bytes pci master will force all byte enables active for reads. 3 reserved reserved. 2 4byte32 pci master will transfer a four-byte dma as a 32-bit transfer. 1 a32swapwords pci master will always swap words for any assume32 transfer. 0 assume32 pci master will not request a 64-bit transfer. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 64 of 706 pnr261_3pcint.fm.06 august 14, 2000 3.1.27 power management program control this register contains the control register for power management signalling. length 32 bits type read/write address xxxx 0090 power on reset value (big endian) x ? 0000 0000 ? power on reset value (little endian) x ? 0000 0000 ? restrictions can be written or read during configuration cycle or memory cycle when enabled (see 3.1.18: pcint base address control register on page 51), or as an i/o cycle. this register is documented as big endian, but how data is presented on the pci bus depends on how the controls are set in the pcint endian control register. reserved asserted ext_pme powerstates deasserted ext_pme powerstates reserved set external pme input receiver polarity enable external pme input reserved enable powerstate change interrupt set pme driver behavior turn on power management event (pci pme ) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 reserved reserved. 15-14 asserted ext_pme powerstates these bits reflect what power state the ext_pme pin will indicate that it is in when the ext_pme is asserted. 13-12 deasserted ext_pme power- states these bits reflect what power state the ext_pme pin will indicate that it is in when the ext_pme is de-asserted. also, these are the default bits read back for the pmi2 power- states bits 1-0 when ext_pme is not enabled. 11-10 reserved reserved. 9 set external pme input receiver polarity setting this bit to ? 1 ? will make the chip input called ext_pme to be used as a positive active signal. otherwise it is negative active. 8 enable external pme input setting this bit to ? 1 ? will enable the chip input called ext_pme to be used as a source to driver the pm state. 7-3 reserved reserved.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 65 of 706 3.1.28 message signaled interrupts-word 1 this register contains the part of the message signaled interrupts structure. see bit definitions. 2 enable powerstate change inter- rupt setting this bit to ? 1 ? will enable a change of power states to cause an interrupt bit to turn on in intst. 1set pme driver behavior setting this bit to ? 1 ? will make the pme driver behave like a push-pull driver. setting this bit to ? 0 ? will make the pme driver behave like an open-drain. 0 turn on power management event (pci pme ) setting this bit will assert the pci bus signal pme . length 32 bits type read only/read/write address xxxx 00c0 power on reset value (big endian) x ? 0082 d005 ? power on reset value (little endian) x ? 05d0 8200 ? restrictions cannot be written unless by external eprom, or the pci config space override write bit is on. message control next pointer capability id 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-16 message control see pci spec revision 2.2 for more details. bits 31-24 are 0, and bit 23 is 1. bits 22-20 are the multiple message enable field, and bits 19-17 are the multiple message capable field. bit 16 is msi enable. only bits 16, 20, 21, and 22 are writable. 15-8 next pointer pointer to the next item in the capabilities list. 7-0 capability id set to 05h to identify this function as message signaled interrupt capable. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 66 of 706 pnr261_3pcint.fm.06 august 14, 2000 3.1.29 message signaled interrupts-word 2 this register contains the part of the message signaled interrupts structure. see bit definitions. length 32 bits type read/write address xxxx 00c4 power on reset value (big endian) x ? 0000 0000 ? power on reset value (little endian) x ? 0000 0000 ? restrictions none message address 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 message address see pci spec revision 2.2 for more details. bits 31-24 are ? 0 ? , and bit 23 is ? 1 ? . bits 22-20 are the multiple message enable field, and bits 19-17 are the multiple message capable field. bit 16 is msi enable. only bits 16, 20, 21, and 22 are writable.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 67 of 706 3.1.30 message signaled interrupts-word 3 this register contains the part of the message signaled interrupts structure. see bit definitions. length 32 bits type read/write address xxxx 00c8 power on reset value (big endian) x ? 0000 0000 ? power on reset value (little endian) x ? 0000 0000 ? restrictions none message upper address 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 message upper address see pci spec revision 2.2 for more details. bits 31-0 hold the upper 32 bits of system address for the msi memory write dma transaction.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 68 of 706 pnr261_3pcint.fm.06 august 14, 2000 3.1.31 message signaled interrupts-word 4 this register contains the part of the message signaled interrupts structure. see bit definitions. length 32 bits type read/write address xxxx 00cc power on reset value (big endian) x ? 0000 0000 ? power on reset value (little endian) x ? 0000 0000 ? restrictions none reserved message data 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 reserved reserved. 15-0 message data see pci spec revision 2.2 for more details. bits 15-0 hold the data for the msi memory write dma transaction.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 69 of 706 3.1.32 power management interface-word 1 this register contains the part of the power management interface structure. see bit definitions. length 32 bits type read only address xxxx 00d0 power on reset value (big endian) x ? 0000 0000 ? power on reset value (little endian) x ? 0000 0000 ? restrictions cannot be written unless by external eprom, or the pci config space override write bit is on. power management capabilities next pointer capability id 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 power management capabilities see pci bus power management interface spec, version 1.0 for more details. bits 31-27 are for pme_support. bit 26 is for d2_support. bit 25 is for d1_support. bits 24-22 are reserved. bit 21 is the device specific initialization bit. bit 20 is reserved. bit 19 is for pme clock. bits 18-16 are version compliance level. 15-8 next pointer pointer to the next item in the capabilities list. 7-0 capability id set to x ? 01 ? to identify this function as pci bus power management interface.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 70 of 706 pnr261_3pcint.fm.06 august 14, 2000 3.1.33 power management interface-word 2 this register contains the part of the power management interface structure. see bit definitions. length 32 bits type read only/read clear/read write address xxxx 00d4 power on reset value (big endian) x ? 0000 0000 ? power on reset value (little endian) x ? 0000 0000 ? restrictions none reserved power management capabilities 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 reserved reserved. 15-0 power management capabilities see pci bus power management interface spec version 1.0 for more details. bit 15 is for pme_status. bit 14-13 are not used. bits 12-9 are not used. bit 8 is pme_en. bits 7-2 are reserved. bit 1-0 are the powerstate.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_3pcint.fm.06 august 14, 2000 the iop bus specific interface controller (pcint) page 71 of 706 3.1.34 vital product data interface-word 1 this register contains the part of the vital product data interface structure. see bit definitions. length 32 bits type read only/read write address xxxx 00d8 power on reset value (big endian) x ? 0000 0003 ? power on reset value (little endian) x ? 0300 0000 ? restrictions cannot be written unless by external eprom, or if the pci config space override write bit is on. flag bit vdp address next pointer capability id 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31 flag bit see pci spec revision 2.2, appendix 1 for more details. read/write flag bit. for vpd reads, this bit is set to ? 0 ? and the vpd address is set. when the hardware sets the bit to ? 1 ? , valid vpd data can be read. for vpd writes, the vpd data is written first. then this bit is set to ? 1 ? , along with the vpd address. the write is active until the hardware resets this bit. 30-16 vdp address the field translates into the external eprom address. see pci spec revision 2.2, appendix 1 for more details. 15-8 next pointer pointer to the next item in the capabilities list. 7-0 capability id set to 03h to identify this function as vital product data interface.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the iop bus specific interface controller (pcint) page 72 of 706 pnr261_3pcint.fm.06 august 14, 2000 3.1.35 vital product data interface-word 2 this register contains the part of the vital product data interface structure. see bit definitions. length 32 bits type read/write address xxxx 00dc power on reset value (big endian) x ? 0000 0000 ? power on reset value (little endian) x ? 0000 0000 ? restrictions none vpd data 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 vpd data see pci spec revision 2.2, appendix 1 for more details. four bytes of data are always read or written through this data field.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_4gpdma.fm.06 august 14, 2000 general purpose dma (gpdma) page 73 of 706 3.2 general purpose dma (gpdma) this entity provides dma control between system memory and pnr packet memory. dma transfers must be enabled in the gpdma control registers for transmit and/or receive. there are two ways to initiate dma transfers. the first is by directly writing the source address, destination address, and transfer count and flag registers. the second is by using dma descriptors and enqueueing them using dmaqs. these two methods should not be used simultaneously. if using descriptors, refer to the dmaqs section beginning on 3.5 dma queues (dmaqs) on page 115 for more information. dma transfers to system i/o space are not allowed. 3.2.1 gpdma interrupt status register this register indicates the source(s) of the interrupt(s) pending, or is used as a status register when the bits are enabled. length 32 bits type clear/set address xxxx 0108 and 010c power on reset value x ? 0000 0000 ? restrictions none reserved dma transaction timeout dma command error reserved reserved zero length dma request from dmaqs error occurred during receive transfer error occurred during transmit transfer receive transfer complete transmit transfer complete 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-9 reserved reserved. 8 dma transaction timeout the dma transaction timeout specified in the gpdma interrupt enable timed out. 7 dma command error an invalid transfer was described by the value loaded into the transfer count and flag register. 6 reserved reserved. 5 reserved reserved.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary general purpose dma (gpdma) page 74 of 706 pnr261_4gpdma.fm.06 august 14, 2000 3.2.2 gpdma interrupt enable register this register allows the user to enable interrupts for each of the conditions reported in the gpdma interrupt status register . each bit corresponds to the same bit in the status register and when set to ? 1 ? generates an interrupt from gpdma to intst if the condition is detected. 4 zero length dma request from dmaqs dmaqs has requested a dma with a length of zero. this bit is for information use only. this bit is not an error that will prevent gpdma from processing additional dma requests. 3 error occurred during receive transfer hardware errors occurred during the last transfer. the transfer stopped after detecting the error. 2 error occurred during transmit transfer hardware errors occurred during the last transfer. the transfer stopped after detecting the error. 1 receive transfer complete the receive transfer is complete. 0 transmit transfer complete the transmit transfer is complete. length 32 bits type clear/set address xxxx 0110 and 0114 power on reset value x ? 0000 009c ? restrictions none bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_4gpdma.fm.06 august 14, 2000 general purpose dma (gpdma) page 75 of 706 3.2.3 gpdma control register used to set options for dma operations. length 32 bits type clear/set address xxxx 0118 and 011c power on reset value x ? 0088 00c7 ? restrictions none assume 64 descriptor assume 32 descriptor assume 64 queue 2 assume 32 queue 2 assume 64 queue 1 assume 32 queue 1 assume 64 queue 0 assume 32 queue 0 pci transfer threshold memory transfer threshold dma transaction timeout word swap mode disable access to internal array enable limiting dma burst to cache line size pci target cache line size data transfer break type enable receive dmas enable transmit dmas 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31 assume 64 descriptor assume 64-bit pci interface for descriptor transfers. 30 assume 32 descriptor assume 32-bit pci interface for descriptor transfers. 29 assume 64 queue 2 assume 64-bit pci interface for queue 2 transfers. 28 assume 32 queue 2 assume 32-bit pci interface for queue 2 transfers. 27 assume 64 queue 1 assume 64-bit pci interface for queue 1 transfers. 26 assume 32 queue 1 assume 32-bit pci interface for queue 1 transfers. 25 assume 64 queue 0 assume 64-bit pci interface for queue 0 transfers. 24 assume 32 queue 0 assume 32-bit pci interface for queue 0 transfers. 23-20 pci transfer threshold the value of these bits multiplied by eight determines the number of bytes that must be ready to transfer before a dma transfer is initiated on the pci bus. this can be used to tune the performance of the pci bus. if the number of bytes left to transfer is less than the threshold, the transfer will start when all remaining bytes are ready to be transferred. 19-16 memory transfer threshold the value of these bits multiplied by eight determine the number of bytes that must be ready to transfer before a transfer is initiated on the internal memory bus. this can be used to tune the performance of the memory subsystem. 15-9 dma transaction timeout these bits hold a value that is used to count the number of cycles that an unacknowl- edged dma cycle is in progress. if the count is reached, due to an internal chip hang con- dition, the dma is terminated. a value of ? 0 ? disables this function.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary general purpose dma (gpdma) page 76 of 706 pnr261_4gpdma.fm.06 august 14, 2000 3.2.4 gpdma source address register used to set and keep track of the source address during a dma transfer. this is the system address that increments during a dma transfer. a bit in the transfer count and flag register determines if the source address is internal to the pnr or is a system address. 8-7 word swap mode this field controls word swapping for data being transferred to pcint. the word swap- ping is done as part of endian alignment. the bits are defined as follows: 00 no swap: the 32-bit words being transferred will not be swapped by pcint. 01 swap: the 32-bit words being transferred will always be swapped by pcint. 10 endian swap: the words will be swapped if byte swapping is being done. 11 anti-endian swap: the words will be swapped if byte swapping is not being done. 6 disable access to internal array when this bit is set, the internal array cannot be read or written. this can be used to ensure that the array is not inadvertently read or written while dmas are in progress, causing unpredictable results. 5 enable limiting dma burst to cache line size this bit on causes a dma burst to terminate upon crossing a cache line boundary of the pci target. 4-3 pci target cache line size this field indicates the cache line size if aligning dmas to the cache line size of the pci target (see bit 5). 00 32 bytes 01 64 bytes 10 128 bytes 11 256 bytes 2 data transfer break type this bit on causes a re-arbitrate request from pci to immediately stop moving data and resurface a new request to move the remainder of the data. when reset, gpdma stops data movement at the next cache line boundary. 1 enable receive dmas this bit on enables dma transfers out of the pnr. 0 enable transmit dmas this bit on enables dma transfers into the pnr. length 64 bits type read/write address xxxx 0128 power on reset value x ? 0000 0000 0000 0000 ? restrictions none bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_4gpdma.fm.06 august 14, 2000 general purpose dma (gpdma) page 77 of 706 3.2.5 gpdma destination address register used to set and keep track of the destination address during a dma transfer. this is the destination address that increments during a dma transfer. a bit in the transfer count and flag register determines if the desti- nation address is internal to the pnr or is a system address. length 64 bits type read/write address xxxx 0130 power on reset value x ? 0000 0000 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary general purpose dma (gpdma) page 78 of 706 pnr261_4gpdma.fm.06 august 14, 2000 3.2.6 gpdma transfer count and flag register specifies the type and number of bytes transferred during a dma transfer. the lower 16 bits are a counter of the number of bytes transferred during a dma transfer. it is a count down counter; when zero is reached, the transfer ends. writing a non-zero value to the lower 16 bits starts the dma transfer. the upper 16 bits specify the type of transfer as follows. length 32 bits type read/write address xxxx 0138 power on reset value x ? 0000 0000 ? restrictions none reserved reserved reserved little endian mode reserved hold mode reserved assume 64 assume 32 register/memory destination address system/pnr destination address data/address source address reserved register/memory source address system/pnr source address byte transfer count 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-30 reserved these bits must be ? 0 ? . 29 reserved reserved. 28 reserved reserved. 27 little endian mode when this bit is written to ? 0 ? , this dma channel operates in big endian mode. when ? 1 ? , it operates in little endian mode. when in little endian mode, both the source and destina- tion must be aligned on four-byte boundaries. 26 reserved reserved. 25 hold mode when set, bits 28-29 are redefined to allow the source or destination address to be held instead of incremented. bit 29 becomes the hold destination address and bit 28 becomes the hold source address. the address being held must be a register address. when hold- ing, the maximum length is 240 bytes. 24 reserved reserved. 23 assume 64 assume the pci interface is 64 bits wide. 22 assume 32 assume the pci interface is 32 bits wide. 21 register/memory destination address if this bit is set, the destination address is a register address. if this bit is not set, the des- tination address is a memory address. if the destination address is a system address, this bit should cleared. i/o dma cycles on the pci bus are not implemented.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_4gpdma.fm.06 august 14, 2000 general purpose dma (gpdma) page 79 of 706 3.2.7 gpdma dma max burst time used to limit the number of cycles a master can burst on the pci bus. when a dma burst is started, a counter is loaded with the value in this register. when the counter expires and the current access completes, the pci bus is released for use by another bus master. writing a non-zero value to this register enables this function. 20 system/pnr destination address if this bit is set, the destination address is a pci bus address. if this bit is not set, the des- tination address is internal to the chip. 19 data/address source address if this bit is set, the source address register contains the source data. if this bit is not set, the source address register contains the source address. 18 reserved reserved. 17 register/memory source address if this bit is set, the source address is a register address. if this bit is not set, the source address is a memory address. if the source address is a system address, this bit should cleared. i/o dma cycles on the pci bus are not implemented. 16 system/pnr source address if this bit is set, the source address is a pci bus address. if this bit is not set, the source address is internal to the chip. 15-0 byte transfer count these bits indicate the number of bytes to transfer. a non-zero value in this field starts the dma transfer. length 32 bits type read/write address xxxx 0158 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-24 reserved reserved. 23-0 maximum burst time maximum burst time. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary general purpose dma (gpdma) page 80 of 706 pnr261_4gpdma.fm.06 august 14, 2000 3.2.8 gpdma maximum memory transfer count used to limit the size of data requests to the control/packet memories. this register defines the maximum number of bytes to be transferred in a single storage request to pnr storage. 3.2.9 gpdma checksum register this register contains the accumulated checksum value. it can also be used to initialize the checksum with a seed value. the most significant bit contains the alignment state (1 = odd, 0 = even alignment). this register can be read at four different addresses. the base address returns the unmodified accumulated checksum. the base address + 4 returns the inverted accumulated checksum. the base address + 8 returns the byte- swapped accumulated checksum. the base address + 12 returns the inverted byte-swapped accumulated checksum. length 32 bits type read/write address xxxx 0150 power on reset value x ? 0000 0040 ? restrictions none bit(s) name description 31-7 reserved reserved. 6-0 maximum memory transfer value maximum number of bytes transferable in a single request to pnr storage. length 32 bits type read/write address xxxx 0160 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-17 reserved reserved. 16-0 checksum accumulated checksum.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_4gpdma.fm.06 august 14, 2000 general purpose dma (gpdma) page 81 of 706 3.2.10 gpdma read dma byte count this register counts the bytes transferred into the pnr by the dma controller. descriptor bytes can be included as options. (see the 3.2.3 gpdma control register on page 75 for details.) 3.2.11 gpdma write dma byte count this register counts the bytes transferred out of the pnr by the dma controller. length 32 bits type read/write address xxxx 0178 power on reset value x ? 0000 0000 ? restrictions none length 32 bits type read/write address xxxx 017c power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary general purpose dma (gpdma) page 82 of 706 pnr261_4gpdma.fm.06 august 14, 2000 3.2.12 gpdma array read address this register is used to read the gpdma internal array. the internal array is used to hold data for the dma. the array is organized as 64 32-bit words. the gpdma array read address is written with the address of the word that is to be read. the gpdma array data register is read to obtain the contents of the addressed word. the gpdma array read address is incremented each time the gpdma array data register is read, causing repeated reads of the gpdma array data register to obtain sequential words from the array. 3.2.13 gpdma array write address this register is used to write the gpdma internal array. the internal array is used to hold data for the dma. the array is organized as 64 32-bit words. the gpdma array write address is written with the address of the word that is to be written. the gpdma array data register is written to write the addressed word. the gpdma array write address is incremented each time the gpdma array data register is written, causing repeated writes of the gpdma array data register to write sequential words in the array. length 32 bits type read/write address xxxx 0140 power on reset value x ? 0000 0000 ? restrictions this address space is for diagnostic use only. it should not be read or written during normal operation. the low order two bits of gpdma array read address are place holders and are ignored. they should be set to ? 0 ? . bit(s) name description 31-8 reserved reserved. 7-0 array read address gpdma array read address length 32 bits type read/write address xxxx 0144 power on reset value x ? 0000 0000 ? restrictions this address space is for diagnostic use only. it should not be read or written during normal operation. the low order two bits of gpdma array read address are place holders and are ignored. they should be set to ? 0 ? . bit(s) name description 31-8 reserved reserved. 7-0 array write address gpdma array write address.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_4gpdma.fm.06 august 14, 2000 general purpose dma (gpdma) page 83 of 706 3.2.14 gpdma array reads the contents of the internal array. the internal array is used to hold data for the dma. length 64 words x 32 bits type read/write address xxxx 0148 power on reset value x ? 0000 0000 ? restrictions this address space is for diagnostic use only. it should not be read or written during normal operation. the array is read/written at the location indicated by the gpdma array read address or gpdma array write address.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary general purpose dma (gpdma) page 84 of 706 pnr261_4gpdma.fm.06 august 14, 2000
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_5intst.fm.06 august 14, 2000 interrupt and status/control (intst) page 85 of 706 3.3 interrupt and status/control (intst) this entity contains the masking registers that choose which interrupt/status source will be gated onto one of the two available interrupt i/o pins. a delayed interrupt function allows pnr status registers to be read and placed in system memory before the interrupt signal is raised. for details, see section 3.5 dma queues (dmaqs) on page 115. a bus timer function is provided in this entity that times a single bus access to make sure that the cycle is ter- minated before the system timer times out. this allows the user code an opportunity to recover from the error as opposed to the subsystem common code. below is a summary of this entity ? s functions:  interrupt prioritized status registers  interrupt source register  interrupt enable registers  bus timer function  control processor error register with enable and halt chip registers 3.3.1 intst interrupt 1 prioritized status register used to help quickly parse which interrupting entity of the pnr is active. length 32 bits type read only address xxxx 0400 restrictions none power on reset value x ? 0000 0000 ? prioritized status 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 prioritized status reading this register gives a prioritized value of the bits in the intst interrupt source and intst enable for interrupt 1 (minta) registers anded together, returning a value that will be a hex number equal to bit number n + 1. for example, if bit 31 is on, x ? 20 ? will be read back.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary interrupt and status/control (intst) page 86 of 706 pnr261_5intst.fm.06 august 14, 2000 3.3.2 intst interrupt 2 prioritized status register used to help quickly parse which interrupting entity of the pnr is active. length 32 bits type read only address xxxx 0404 restrictions none power on reset value x ? 0000 0000 ? prioritized status 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 prioritized status reading this register will give a prioritized value of the bits in the intst interrupt source and intst enable for interrupt 2 (mint2) registers anded together, returning a value that will be a hex number equal to bit number n + 1. for example, if bit 31 is on, x ? 20 ? will be read back.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_5intst.fm.06 august 14, 2000 interrupt and status/control (intst) page 87 of 706 3.3.3 intst control register this register is used to control various pnr functions. length 32 bits type clear/set address xxxx 0408 and 040c restrictions none power on reset value x ? 0001 0202 ? reserved delayed interrupts - assume a 64bit pci target delayed interrupts - assume a 32bit pci target delayed interrupts - swap words control delayed interrupts - enable interrupt 1 delayed interrupts - enable interrupt 2 delayed interrupts - endian bit delayed interrupts - route interrupt 2 to interrupt 1 delayed interrupts - returned status word type pi bytes reserved disable the enstate output pins master chip enable for receiving master chip enable for transmitting master chip enable zeros on data parity treat mint2 as push-pull enable the pll output (hardware test only) disable the enstate clocks output pins 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-19 reserved reserved. 18 delayed interrupts - assume a 64-bit pci target this bit set will help the mastering logic determine how to best move data to a 64-bit pci target. this bit is set when software has system knowledge of its targets. 17 delayed interrupts - assume a 32-bit pci target this bit set will help the mastering logic determine how to best move data to a 32-bit pci target. this bit is set when software has system knowledge of its targets. 16 delayed interrupts - swap words control this bit determines the word order of the status word dma transfer for delayed ints. the default value of ? 1 ? is to swap the words. a value of ? 0 ? will not swap them. 15 delayed interrupts - enable interrupt 1 when set, the delayed int mechanism for int 1 is enabled. 14 delayed interrupts - enable interrupt 2 when set, the delayed int mechanism for int 2 is enabled. 13 delayed interrupts - endian bit this bit determines the endian made of the status word dma transfer for delayed ints. when this bit is set, the endian is little. the default of ? 0 ? is big endian. 12 delayed interrupts - route interrupt 2 to interrupt 1 when set, the int 2 signal is routed and raised as int 1. this bit allows both sets of int masks in inst to be used, while still using only a single hardware interrupt. when set, both delayed interrupts should be enabled if they are being used.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary interrupt and status/control (intst) page 88 of 706 pnr261_5intst.fm.06 august 14, 2000 11 delayed interrupts - returned status word type when this bit is set, the intst interrupt source word will be anded with the correspond- ing enable register. otherwise, the intst interrupt source register alone will be returned. 10-9 cpi bytes these bits are encoded to tell how many bytes long the aal 5 cpi field is. the following are the encodings: 00 cpi field is zero bytes long. in this case, the two bytes containing the cpi field and the aal5 user-to-user byte are copied into the packet header. see the defi- nition of the packet header for the locations. 01 cpi field is one byte long and is always ? 0 ? . in this case, the one byte aal5 user- to-user byte is copied into the packet header. 10 cpi field is two bytes long and is always ? 0 ? . 11 treated the same as ? 00 ? . 8 reserved reserved. 7 disable the enstate output pins when this bit is set to ? 0 ? , the chip i/o enstates will be driven with the output of the internally muxed debug states. when set to ? 1 ? , these outputs will be quiet. 6 master chip enable for receiving when this bit is set to ? 1 ? , various state machines in the receive part of the chip will be enabled.this bit can be reset by the hardware, based on what is set in 3.3.8 intst cpb status register on page 92 and what bits are set in 3.3.10 intst pnr halt enable on page 94. 5 master chip enable for transmit- ting when this bit is set to ? 1 ? , various state machines in the transmit part of the chip will be enabled. this bit can be reset by the hardware, based on what is set in 3.3.8 intst cpb status register on page 92 and what bits are set in 3.3.10 intst pnr halt enable on page 94. 4 master chip enable when this bit is set to ? 1 ? , various state machines in the chip will be enabled. this must be set to ? 1 ? to transmit or receive anything. this bit can be reset by the hardware, based on what is set in 3.3.8 intst cpb status register on page 92 and what bits are set in 3.3.10 intst pnr halt enable on page 94. 3 zeros on data parity when this bit is set to ? 1 ? , zeros will be forced on the data bus parity line(s) during a slave read data phase or a master address phase or a master write data phase. 2 treat mint2 as push-pull when this bit is set to ? 1 ? , the chip i/o mint2 will be driven active high as well as low, like a push-pull driver. this is for use as a specific sideband application, not as a general shared open-drain interrupt line. 1 enable the pll output (hardware test only) when this bit is set to ? 1 ? , the chip i/o ppllout will be driven with the output of the inter- nal pll. when set to ? 0 ? , this output will be quiet. 0 disable the enstate clocks output pins when this bit is set to ? 0 ? , the chip i/o pintclk and pdblclk will be driven with the out- put of the internal clock tree. when set to ? 1 ? , these outputs will be quiet. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_5intst.fm.06 august 14, 2000 interrupt and status/control (intst) page 89 of 706 3.3.4 intst interrupt source register this register indicates the source(s) of the interrupt(s) pending. it can also be used as a status register when the bits are enabled. note that bits in this register always reflect the state of the source register bit: writing a value will have no effect. reserved bits will not take on the written value. the delay of running through a latch has been removed. for the delayed interrupts feature, writing this register at the end of an interrupt handling routine will guarantee that interrupt1 and interrupt2 (if enabled) will pulse off, allowing the logic to get ready for the next interrupt dma. length 32 bits type read only address xxxx 0410 and 0414 restrictions none power on reset value x ? 0000 0000 ? intst pcore comet or pakit intst gp timer bcach rxque 2 reserved rxque 4 gpdma dmaqs reasm reserved rxque 1 reserved reserved reserved pools pcore chksm external inta csked reserved segbf reserved linkc reserved intst gp timer reserved vimem reserved pbist spurious interrupt 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31 intst a control processor related condition has occurred. a read of the intst cpb status and intst cpb status enable must be done. for more information, see 3.3.8 intst cpb status register on page 92 and 3.3.9 intst cpb interrupt enable register on page 94. 30 pcore the pcore entity has hardware interrupts that need handling. 29 comet or pakit the comet or pakit entities have interrupts that need handling. 28 intst gp timer the intst general purpose timer counter has reached the intst general purpose timer compare value and caused an interrupt. 27 bcach the bcach entity has interrupts that need handling. 26 rxque 2 the rxque entity has interrupts that need handling. 25 reserved reserved. 24 rxque 4 the rxque entity has interrupts that need handling. 23 gpdma the gpdma entity has interrupts that need handling. 22 dmaqs the dmaqs entity has interrupts that need handling. 21 reasm the reasm entity has interrupts that need handling. 20 reserved reserved. 19 rxque 1 the rxque entity has interrupts that need handling. 18 reserved reserved. 17 reserved reserved.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary interrupt and status/control (intst) page 90 of 706 pnr261_5intst.fm.06 august 14, 2000 3.3.5 intst interrupt 1 enable register (minta ) this register serves as an enable for interrupt 1. it allows the user to enable interrupts for each of the condi- tions reported in the intst interrupt source register . each bit corresponds to the same bit in the status reg- ister and when set to ? 1 ? generates an interrupt on the minta pin if the condition is detected. 16 reserved reserved. 15 pools the pools entity has interrupts that need handling. 14 pcore the pcore entity has user defined interrupts that need handling. 13 chksm the chksm entity has interrupts that need handling. 12 external inta this bit is set when the pnr detects that minta is low and, conditionally, when the same bit in intst enable for pcore normal interrupt or intst enable for pcore critical interrupt is set. this bit is for use by the pcore entity, and it is recommended that inter- rupts directed out which drive output (minta) be disabled. 11 csked the csked entity has interrupts that need handling. 10 reserved reserved. 9 segbf the segbf entity has interrupts that need handling. 8 reserved reserved. 7 linkc the linkc entity has interrupts that need handling. 6 reserved reserved. 5intst gp timer the intst general purpose timer counter has reached the intst general purpose timer compare value and caused an interrupt. 4 reserved reserved. 3 vimem the vimem entity has interrupts that need handling. 2 reserved reserved. 1pbist this bit is set when the pbist entity did not indicate that it was done. it is also not clear- able. 0 spurious interrupt under normal conditions, this bit should never be set. however, if one of the other bits in this register turns on, then off, a spurious interrupt condition will occur. the manual vector passed to the processor will point to this bit being on. length 32 bits type clear/set address xxxx 0418 and 041c restrictions none power on reset value x ? 0000 0000 ? bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_5intst.fm.06 august 14, 2000 interrupt and status/control (intst) page 91 of 706 3.3.6 intst interrupt 2 enable register (mint2 ) this register serves as an enable for interrupt 2. it allows the user to enable interrupts for each of the condi- tions reported in the intst interrupt source register . each bit corresponds to the same bit in the status reg- ister and when set to ? 1 ? generates an interrupt on the mint2 pin if the condition is detected. see section 3.3.4 intst interrupt source register on page 89 for the bitwise description that the corresponding bit in this register will enable. 3.3.7 intst interrupt source without enables register this register is used to help quickly parse which interrupting bit of intst interrupt source is active. it does not matter to what state the enable registers are set because the value returned does not depend on them. length 32 bits type clear/set address xxxx 0420 and 0424 restrictions none power on reset value x ? 0000 0000 ? length 32 bits type read only address xxxx 0428 restrictions none power on reset value x ? 0000 0000 ? prioritized status 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 prioritized status reading this register gives a prioritized value of the bits in the intst interrupt source, returning a value that is a hex number equal to bit number n + 1. for example, if bit 31 is on, x ? 20 ? will be read back.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary interrupt and status/control (intst) page 92 of 706 pnr261_5intst.fm.06 august 14, 2000 3.3.8 intst cpb status register this register holds the status bits for errors on the control processor bus. these bits, when disabled, will set a bit in the intst interrupt source register. length 32 bits type clear/set address xxxx 0430 and 0434 restrictions none power on reset value x ? 0000 0000 ? reserved internal dma masters signaled error indication power mgmt state change target abort: register access retry timeout target abort: slave access timeout pci timing changed arbit detected memory errors reserved reserved master pci parity error detected master detected perr active master termination: target abort received master termination: master-initiated abort target detected pci 64 bit data parity error target disconnect: memory addressing target detected pci data parity error target abort: memory access retry timeout target abort: address parity error target disconnect or retry: end of memory performance counter 2 performance counter 1 illegal register access 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-24 reserved reserved. 23-20 internal dma masters signaled error indication the pcint entity will set these bits when it signals a dma error indication to one of the internal requesting masters. bit 23 is gpdma, bit 22 is pcore, bit 21 is rxque, and bit 20 is intst. 19 power mgmt state change this bit is set when the conditions in pcint are met to trigger a power management state change. 18 target abort: register access retry timeout this bit is set when this slave does more retry cycles than the specified amount in the pcint count timeout register during a register access. 17 target abort: slave access timeout this bit is set when this slave does not access the pnr in the specified amount in the pcint count timeout register. 16 pci timing changed the pci bus clock has changed range. the pnr should be reset and re-initialized. see 3.4.1 reset status register on page 105 for more information. 15 arbit detected memory errors this bit is set when error conditions detected by arbit are enabled. note: this bit is a reflection of the arbitrator status bits and does not need to be reset if the arbitrator condi- tion has been reset. 14 reserved reserved. 13 reserved reserved.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_5intst.fm.06 august 14, 2000 interrupt and status/control (intst) page 93 of 706 12 master pci parity error detected this bit is set when a pci bus data parity error is detected in master mode. 11 master detected perr active this bit is set when a target has driven perr . 10 master termination: target abort received this bit is set when in master mode and the transfer is aborted by the target. 9 master termination: master-initi- ated abort this bit is set when in master mode and the transfer is aborted by this master. 8 target detected pci 64 bit data parity error this bit is set when a pci data parity error is detected in 64 bit target mode (the upper dword has the data parity error). 7 target disconnect: memory addressing this is set when a memory access is occurring and bits 0 and 1 of the address are not ? 0 ? . 6 target detected pci data parity error this bit is set when a pci data parity error is detected in target mode. 5 target abort: memory access retry timeout this bit is set when this slave does more retry cycles than the specified amount in the pcint count timeout register during a memory access. 4 target abort: address parity error this bit is set when an address parity error is detected. 3 target disconnect or retry: wrap of 2 gb internal address slave counter this bit is set when the slave address counter is its maximum counter value. it will indi- cate a termination condition on the pci bus. this is primarily a debug bit and can turn on during normal operation. it most likely will be useful when the pnr slave mode is config- ured in 64-bit addressing mode. 2 performance counter 2 the pcint performance counter 2 has overflowed. 1 performance counter 1 the pcint performance counter 1 has overflowed. 0 illegal register access this bit is set when a pnr register is being accessed by fewer than four bytes at a time. this is not true for configuration registers during a configuration cycle. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary interrupt and status/control (intst) page 94 of 706 pnr261_5intst.fm.06 august 14, 2000 3.3.9 intst cpb interrupt enable register this register allows the user to enable interrupts for each of the conditions reported in the intst cpb status register . each bit corresponds to the same bit in the status register and when set to ? 1 ? causes bit 31 of the intst interrupt source register on page 89 to come on if the condition is detected. 3.3.10 intst pnr halt enable this register serves as an enable for the intst cpb status register and gates which errors will reset bit 4 (master chip enable), bit 5 (master chip enable for transmitting), and bit 6 (master chip enable for receiving), all in the intst control register register. this allows selected bits to disable the pnr, especially in the case of severe hardware detected errors. see section 3.3.8 intst cpb status register on page 92 for the bitwise description that the corresponding bit in this register will enable. this enable will initialize to the disabled state. length 32 bits type clear/set address xxxx 0438 and 043c restrictions none power on reset value x ? 0006 9f71 ? length 32 bits type clear/set address xxxx 0440 and 0444 restrictions none power on reset value x ? 0006 9f71 ?
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_5intst.fm.06 august 14, 2000 interrupt and status/control (intst) page 95 of 706 3.3.11 intst cpb capture enable this register no longer captures addresses reliably due to internal chip changes, but can be used as a gen- eral purpose register to write and read values for testing or other such purposes. 3.3.12 intst cpb captured address this register no longer captures addresses correctly as it has in prior revisions. it can be used as a general purpose read/write register for testing and diagnostic code. length 32 bits type clear/set address xxxx 0450 and 0454 restrictions none power on reset value x ? 0006 9f71 ? bit(s) name description 31-24 reserved reserved. 23-0 general use bits these bits can be used for any general purpose. length 32 bits type read/write address xxxx 0458 restrictions none power on reset value x ? 0000 0001 ? register address reserved invalid capture 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-2 register address captured pnr register address. 1 reserved reserved. 0 invalid capture when this bit is reset to ? 0 ? , a valid capture has been made.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary interrupt and status/control (intst) page 96 of 706 pnr261_5intst.fm.06 august 14, 2000 3.3.13 intst general purpose timer pre-scaler this is the pre-scaler for the intst general purpose timer compare.this register will hold the value of the pre-scale count. the default value is 1 tick every 10.02 s, assuming a 33mhz or 66mhz pci bus clock, pro- ducing a 66mhz system clock (count is system clock). the pre-scale count value is n-1, where n is the desired increment count. length 32 bits type read/write address xxxx 0464 restrictions none power on reset value x ? 0000 029b ?
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_5intst.fm.06 august 14, 2000 interrupt and status/control (intst) page 97 of 706 3.3.14 intst general purpose timer compare this is the compare value for the general purpose timer. this register holds the value of the data that is com- pared to the count value in the intst general purpose timer counter, setting the intst general purpose timer status bits. see section 3.3.17 intst general purpose timer mode control on page 99 for details on the operation of this register. 3.3.15 intst general purpose timer counter this is the general purpose timer counter.this register holds the value of the counter. it always counts up. see section 3.3.17 intst general purpose timer mode control on page 99 for details on operation of this register. length 32 bits type read/write address xxxx 0468 restrictions none power on reset value x ? 0800 0000 ? length 32 bits type read/write address xxxx 046c restrictions none power on reset value x ? 0000 0000 ?
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary interrupt and status/control (intst) page 98 of 706 pnr261_5intst.fm.06 august 14, 2000 3.3.16 intst general purpose timer status this is the status of the general purpose timer counter. length 32 bits type clear/set address xxxx 0470 and 0474 restrictions none power on reset value x ? 0000 0000 ? reserved timer wrapped timer interrupt 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-2 reserved reserved. 1 timer wrapped this bit is set when the intst general purpose timer counter wraps around to a ? 0 ? count value. 0 timer interrupt see 3.3.17 intst general purpose timer mode control on page 99 for details on how this bit is set. for mode 0: this bit is set when the intst general purpose timer counter matches the value in the intst general purpose timer compare register. the compar- ing condition must be changed (write intst general purpose timer counter or intst general purpose timer compare) before resetting this bit, or the bit will set again.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_5intst.fm.06 august 14, 2000 interrupt and status/control (intst) page 99 of 706 3.3.17 intst general purpose timer mode control this register controls the operating modes of the general purpose timer counter. length 32 bits type clear/set address xxxx 0478 and 047c restrictions none power on reset value x ? 0000 0004 ? reserved timer modes 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 2 1 0 bit(s) name description 31-3 reserved reserved. 2-0 timer modes these bits are encoded to provide eight different timer operation modes. encoding is as follows: x ? 0 ? the intst general purpose timer counter is a free-running up-counter and sets bit 0 of intst general purpose timer status when equal to intst gen- eral purpose timer compare. x ? 1 ? the intst general purpose timer counter is a free-running up-counter and sets bit 0 of intst general purpose timer status when equal to intst gen- eral purpose timer compare. a write to intst general purpose timer com- pare will reset bit 0 of intst general purpose timer status. x ? 2 ? the intst general purpose timer counter is a free-running up-counter and sets bit 0 of intst general purpose timer status when equal to or greater than intst general purpose timer compare. a write to intst general pur- pose timer compare will reset bit 0 of intst general purpose timer status. x ? 3 ? the intst general purpose timer counter is an up-counter and sets bit 0 of intst general purpose timer status when equal to or greater than the intst general purpose timer compare. the intst general purpose timer counter is also reset when a comparison is made. a write to intst general purpose timer compare will reset bit 0 of intst general purpose timer status and intst general purpose timer counter. x ? 4 ? the intst general purpose timer counter is disabled and no status bits will be set. x ? 5-7 ? reserved.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary interrupt and status/control (intst) page 100 of 706 pnr261_5intst.fm.06 august 14, 2000 3.3.18 intst enable for pcore normal interrupt this register serves as an enable for the pcore normal interrupt input. it allows the normal interrupt from pcore to activate bit 14 of the intst interrupt source register on page 89. 3.3.19 intst enable for pcore critical interrupt this register serves as an enable for the pcore normal interrupt input. it allows the critical interrupt from pcore to activate bit 30 of the intst interrupt source register on page 89. length 32 bits type clear/set address xxxx 0480 and 0484 restrictions none power on reset value x ? 0000 0000 ? length 32 bits type clear/set address xxxx 0488 and 048c restrictions none power on reset value x ? 0000 0000 ?
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_5intst.fm.06 august 14, 2000 interrupt and status/control (intst) page 101 of 706 3.3.20 intst debug states control this register serves as the control for external debug states. length 32 bits type read/write address xxxx 0490 restrictions none power on reset value x ? 3003 0201 ? entity state mux control 4 (hardware debug) entity state mux control 3 (hardware debug) entity state mux control 2 (hardware debug) entity state mux control 1 (hardware debug) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-24 entity state mux control 4 (hard- ware debug) selection of these bits allows internal state machines, counters, etc. to show up on chip outputs enstate (63-48). selection encoding is the same as multiplexer 1 control. 23-16 entity state mux control 3 (hard- ware debug) selection of these bits allows internal state machines, counters, etc. to show up on chip outputs enstate (47-32). selection encoding is the same as multiplexer 1 control. 15-8 entity state mux control 2 (hard- ware debug) selection of these bits allows internal state machines, counters, etc. to show up on chip outputs enstate (31-16).
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary interrupt and status/control (intst) page 102 of 706 pnr261_5intst.fm.06 august 14, 2000 7-0 entity state mux control 1 (hard- ware debug) selection of these bits allows internal state machines, counters, etc. to show up on chip outputs enstate (15-0). x ? 00 ? disabled (no transition on outputs) x ? 01 ? select crset 15-0 states. x ? 02 ? select npbus 15-0 states. x ? 03 ? select pcint 15-0 states. x ? 04 ? select pcint 31-16 states. x ? 05 ? select comet 15-0 states. x ? 06 ? select comet 31-16 states. x ? 07 ? select pakit 15-0 states. x ? 08 ? select pakit 31-16 states. x ? 09 ? select rxque 15-0 states. x ? 0a ? select rxque 31-16 states. x ? 0b ? select reasm 15-0 states. x ? 0c ? select linkc 15-0 states. x ? 0d ? select segbf 15-0 states. x ? 0e ? select segbf 31-16 states. x ? 0f ? select segbf 47-32 states. x ? 10 ? select segbf 63-48 states. x ? 11 ? select csked 15-0 states. x ? 12 ? select chksm 31-16 states. x ? 13 ? select chksm 31-16 states. x ? 14 ? select gpdma 15-0 states. x ? 15 ? select bcach 15-0 states. x ? 16 ? select bcach 31-16 states. x ? 17 ? select pools 15-0 states. x ? 18 ? select pools 31-16 states. x ? 19 ? select pools 47-32 states. x ? 1a ? select pools 63-48 states. x ? 1b ? select pools 79-64 states. x ? 1c ? select pools 95-80 states. x ? 1d ? select pools 111-96 states. x ? 1e ? select pools 127-112 states. x ? 1f ? select vimem 15-0 states. x ? 20 ? select vimem 31-16 states. x ? 21 ? select vimem 47-32 states. x ? 22 ? select arbit 15-0 states. x ? 23 ? select arbit 31-16 states. x ? 24 ? select arbit 47-32 states. x ? 25 ? select arbit 63-48 states. x ? 26 ? select pcore 15-0 states. x ? 27 ? select pcore 31-16 states. x ? 28 ? select pcore 47-32 states. x ? 29 ? select pcore 63-48 states. x ? 2a ? select dmaqs 15-0 states. x ? 2b ? select dmaqs 31-16 states. x ? 2c ? select dmaqs 47-32 states. x ? 2d ? select dmaqs 63-48 states. x ? 2e ? select sclck 15-0 states. x ? 2f ? select sclck 31-16 states. x ? 30 ? select sclck 47-32 states. x ? 31 ? select csked 31-16 states. x ? 32 ? select csked 47-32 states. x ? 33 ? select csked 63-48 states. x ? 34 ? select vimem 63-48 states. x ? 35 ? select txlcd 15-0 states. x ? 36 ? select txlcd 31-16 states. x ? 37 ? select txlcd 47-32 states. x ? 38 ? select txlcd 63-48 states. x ? 39 ? select reasm 31-16 states. x ? 3a ? select reasm 47-32 states. x ? 3b ? select reasm 63-48 states. x ? 3c ? -x ? ff ? reserved (do not toggle outputs) bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_5intst.fm.06 august 14, 2000 interrupt and status/control (intst) page 103 of 706 3.3.21 intst delayed interrupts dma system address 1 this register serves as the delayed interrupts dma system address. this register holds the value of the sys- tem dma address to which the delay interrupt status data will be moved. 3.3.22 intst delayed interrupts dma system address 2 this register serves as the delayed interrupts dma system address. this register holds the value of the sys- tem dma address to which the delay interrupt status data will be moved. 3.3.23 current pci master address counter for debug this register holds the current pci master address counter value. this register holds the value of the pci master dma address. the function of this register is primarily for debug when a severe error occurs that stops the dma engine from running. length 64 bits type read/write address xxxx 0498 and 049c restrictions none power on reset value x ? 0000 0000 0000 0000 ? length 64 bits type read/write address xxxx 04a0 and 04a4 restrictions none power on reset value x ? 0000 0000 0000 0000 ? length 64 bits type read only address xxxx 04a8 and 04ac restrictions none power on reset value x ? 0000 0000 0000 0000 ?
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary interrupt and status/control (intst) page 104 of 706 pnr261_5intst.fm.06 august 14, 2000 3.3.24 external entity states read this register will get a snapshot value of the enstates pin i/o. this register will return whatever is on the out- put of the enstates mux output. it is strictly for debug and a convenient way to look at the current state of pnr internal logic. it is controlled by intst debug states control. length 64 bits type read only address xxxx 04b0 and 04b4 restrictions none power on reset value x ? 0000 0000 xxxx xxxx ?
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_6crset.fm.06 august 14, 2000 reset and power-on logic (crset/cbist) page 105 of 706 3.4 reset and power-on logic (crset/cbist) these entities perform bist and flush operations. chip software resets and clock selection can be controlled by the crset entity. 3.4.1 reset status register this register is used to indicate the last type of reset that occurred. a hardware reset will clear software reset status bits, but a software reset will not affect the hardware status bits. length 32 bits type read/write address xxxx 0500 power on reset value x ? 0000 0002 ? software reset value after a software reset, bits 31-8 will read as x ? 00 0000 ? while bits 7-0 will read as ? 00b001q0 ? or ? 00b010q0 ? (binary), where q is the state of the bit before the soft- ware reset and b is the state of the bist results. restrictions none reserved pci clock freq. change reserved bist results pcore reset software reset software reset/bist por reset reserved 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-8 reserved reserved. 7 pci clock frequency change a value of ? 1 ? means that the real time pci frequency calculator has detected a major change in frequency and has calculated new range bits for the pll. this bit will be set only when bit 9 of the crset control register is set to ? 0 ? and the frequency change con- dition occurs. this will also set bit 16 in 3.3.8 intst cpb status register on page 92. 6 reserved reserved. (engineering note: a value of ? 1 ? means that the out-of-phase detector circuit has triggered. this is just an indicator and is normal operation.) 5 bist results a value of ? 1 ? means that a failure occurred within the bist checking logic. 4 pcore reset the pcore entity has been reset via a software reset request (bit 3 of software reset register). 3 software reset a software reset has occurred; the chip was flushed. 2 software reset/bist a software reset has occurred; and bist/flush was run. 1 por reset a por hardware reset that flushed the chip has occurred. 0 reserved reserved.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary reset and power-on logic (crset/cbist) page 106 of 706 pnr261_6crset.fm.06 august 14, 2000 3.4.2 software reset enable register this register protects the software reset register. if this register is not set, then a reset will not occur. write a x ? b4 ? to this register to enable software reset. a software reset clears this register. length 32 bits type read/write address xxxx 0504 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-8 reserved reserved. 7-0 software reset enable setting these bits to x ? b4 ? enables a software reset. if not set, a software reset will not occur.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_6crset.fm.06 august 14, 2000 reset and power-on logic (crset/cbist) page 107 of 706 3.4.3 software reset register this register generates a scan path flush reset of the chip, or a software initiated run of bist, with the excep- tion of the registers in the reset entity. length 32 bits type write only address xxxx 0508 power on reset value x ? 0000 0000 ? restrictions writing to this register without first setting the software reset enable register will have no affect. the register will not be set, thus the order of writing the enable and the software reset is important; the enable must be written first. additionally, all cur- rent operations being performed by the pnr must be terminated before doing a reset operation. a minimum number of enable bits to turn off would be bits 4, 5, and 6 in intst control register and bit 2 in pcint config word 1. reserved pcore reset total software reset run bist software reset 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-4 reserved reserved. 3 pcore processor reset writing this bit to a ? 1 ? causes the internal processor core to reset. 2 total software reset writing this bit to a ? 1 ? causes a software reset and will be cleared after the software reset has occurred. the config registers in pcint will also be put to their reset state. 1run bist writing this bit to a ? 1 ? causes bist to run and will be cleared after the software reset has occurred. this function is primarily for pre-loading the bist registers to get more test cov- erage. 0 software reset writing this bit to a ? 1 ? causes a software reset and will be cleared after the software reset has occurred. the config registers in pcint will not be affected by this reset.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary reset and power-on logic (crset/cbist) page 108 of 706 pnr261_6crset.fm.06 august 14, 2000 3.4.4 memory type register this register indicates the type of memory used for control and packet memory so that reset hardware will know how to preserve it properly during a reset. length 32 bits type read/write address xxxx 050c power on reset value x ? 0000 0000 ? restrictions none reserved packet memory type control memory type 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-4 reserved reserved. 3-2 packet memory type decodes the same as bits 9-8 of 3.6.2 comet/pakit control register on page 138. 1-0 control memory type decodes the same as bits nine through eight of 3.6.2 comet/pakit control register on page 138.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_6crset.fm.06 august 14, 2000 reset and power-on logic (crset/cbist) page 109 of 706 3.4.5 crset pll range debug used to debug the ppl operation. 3.4.6 crset control register used to control pci frequency detection logic. length 32 bits type read only address xxxx 0518 power on reset value x ? xxxx xxxx ? bit(s) name description 31-30 reserved reserved. 29-20 system clock counter read access to counter testing system clock operation. 19-14 pll tune bits read access to tuning information sent to the pll. 13-8 phy counter read access to counter testing phy clock operation. 7 reserved reserved. 6-4 ffcfg bits(2-0) allows sampling of the ffcfg inputs. 3-2 pll range bit a (1-0) the current operational range of the pll. 1 66 mhz enable the pci clock is detected as being in the range of 66 mhz. 0 under 25 mhz the pci clock is running at less than 25 mhz. length 32 bits type read/write address xxxx 0510 power on reset value x ? 0000 0330 ?
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary reset and power-on logic (crset/cbist) page 110 of 706 pnr261_6crset.fm.06 august 14, 2000 reserved disable delay pci rst to the processor enable pcore pnr software reset enable pcore processor unit reset disable the frequency change detection interrupt reserved disable pll lock control encoded control for pll out-of-phase detection circuitry reserved 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-13 reserved reserved. 12 disable delay pci rst to the pnr setting this bit to a ? 1 ? will disable the function that delays a pci bus reset to the pnr if a serial eprom is attached and still busy accessing data from the prior reset. by disabling this function, any pci requirement to tri-state the i/o drivers would be met, but eprom initialization information would be lost. 11 enable pcore pnr software reset setting this bit to a ? 1 ? will enable the pcore entity to issue a pnr software reset. 10 enable pcore processor unit reset setting this bit to a ? 1 ? will enable the pcore entity to issue a processor unit reset. 9 disable the frequency change detection interrupt setting this bit to a ? 1 ? will disable using the frequency change detection bit as an interrupt source to intst. 8 reserved reserved - must be set to a ? 1 ? . (engineering note: setting this bit to a ? 1 ? will disable using the out-of-phase detection bit as an interrupt source to intst.) 7 disable pll lock control setting this bit to a ? 1 ? will disable using the pll lock output to make state transitions in the out-of-phase detection logic. 6-4 encoded control for pll out-of- phase detection circuitry these bits determine how much time buffering is allowed before an out-of-phase condi- tion is detected. for a value of ? 000 ? , a value of about 150 ps buffering is used. for each encoded increment value, an additional 150 ps is added. for example, the default value of three is about 600 ps of buffering. 3-0 reserved reserved.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_6crset.fm.06 august 14, 2000 reset and power-on logic (crset/cbist) page 111 of 706 3.4.7 clock control register used to disable clocks for power conservation and provide the select a clock function for mpeg and front end support. to change a nibble field in this register, always set it to ? 0 ? first, and then to the new value. length 32 bits type read/write address xxxx 0520 power on reset value x ? 060e 5532 ? reserved framer tree disabled (framr) encoded control for bist speed reserved (encoded con- trol for pcore clock rate) encoded memory clock control encoded control for cell opportunity logic (cello) encoded control for mpeg clocking logic (mpegt) encoded control for transmit logic (linkt) and sonet framer (framr) encoded control for receive logic (linkr) and sonet framer (framr) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-29 reserved reserved. 28 framer tree disabled (framr) when set, this bit will disable the clock tree to the sonet framer logic. 27-24 reserved (for encoded control for bist clock rate) reserved. 23-20 reserved (for encoded control for pcore clock rate) reserved. 19-16 memory clock control encoding of bits: x ? d ? use an early version of the clock. x ? e ? use a nominal version of the clock. x ? f ? use a late version of the clock. 15-12 encoded control for cell opportu- nity logic (cello) same as bits 3-0. 11-8 encoded control for mpeg clock- ing logic (mpegt) same as bits 3-0. 7-4 encoded control for transmit logic (linkt) and sonet framer (framr) same as bits 3-0.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary reset and power-on logic (crset/cbist) page 112 of 706 pnr261_6crset.fm.06 august 14, 2000 3-0 encoded control for receive logic (linkr) and sonet framer (framr) below is the encoded value of the bits that select a given clock. always refer to ?select a clock? selection matrix below for inputs supported for each clock out type. x ? 0 ? turn this clock off. x ? 1 ? use the external mpeg oscillator. x ? 2 ? use the external rx clock. x ? 3 ? use the external tx clock. x ? 4 ? reserved. x ? 5 ? use the internal 15 ns clock. assumes 33 or 66 mhz pci clock. x ? 6 ? use the internal 30 ns clock. assumes 33 or 66 mhz pci clock. x ? 7 ? use the internal 60 ns clock. assumes 33 or 66 mhz pci clock. x ? 8 ? use the internal 120 ns clock. assumes 33 or 66 mhz pci clock. x ? 9 ? use the internal 240 ns clock. assumes 33 or 66 mhz pci clock. x ? a ? use the internal 480 ns clock. assumes 33 or 66 mhz pci clock. x ? b ? use the differential receiver clock divided by eight. x ? c ? use the differential transmit clock divided by eight. x ? d ? use the differential receiver clock (chopped). x ? e ? use the differential high speed receiver clock (divided by 8 and 50% duty cycle). table 13: ? select a clock ? selection matrix clock frequency base cello bco cco mpegt bmt cmt linkt(tx) btx ctx rtx linkr(rx) brx crx rrx nibble code hs rx rec diff osc x x ? e ? rx rec diff osc x x ? d ? tx/8 diff osc x x ? c ? rx/8 diff osc x x ? b ? 480 ns x x x x x ? a ? 240 ns x x x x x ? 9 ? 120 ns x x x x x ? 8 ? 60 ns x x x x x ? 7 ? 30 ns x x x x x ? 6 ? 15 ns x x x x x ? 5 ? reserved x ? 4 ? tx osc x x x x x ? 3 ? rx osc x x x x x ? 2 ? mpeg osc x x x x x ? 1 ? off x x x x x ? 0 ? control bits 15-12 11-8 7-4 3-0 bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_6crset.fm.06 august 14, 2000 reset and power-on logic (crset/cbist) page 113 of 706 3.4.8 cbist prpg results this is the prpg results register, updated after bist has run. it is used by the bist function for chip test. 3.4.9 cbist misr results this is the misr results register, updated after bist has run. it is used by the bist function for chip test. 3.4.10 cbist bist rate this register holds a counter value that separates the time between when the a clock and the b clock are launched during bist. this allows finer tuning to how much power bist uses versus how much testing gets done within the time allowed. it is used by the bist function for chip test. length 32 bits type read/write address xxxx 05b0 power on reset value x ? ffff ffff ? length 32 bits type read/write address xxxx 05b4 power on reset value x ? 0000 0000 ? length 32 bits type read/write address xxxx 05b8 power on reset value x ? 0000 0000 ? bit(s) name description 31-3 reserved reserved. 2-0 a/b clock separation elapsed time between launch of clock a and clock b.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary reset and power-on logic (crset/cbist) page 114 of 706 pnr261_6crset.fm.06 august 14, 2000 3.4.11 cbist prpg expected signature this is the prpg signature register, which should be written by the external eprom code with the expected value of the signature, based on the value in cbist cyct load value and the clock selected for bist to run from. it is used by the bist function for chip test. 3.4.12 cbist misr expected signature this is the misr signature register, which should be written by the external eprom code with the expected value of the signature, based on the value in cbist cyct load value and the clock selected for bist to run from. it is used by the bist function for chip test. 3.4.13 cbist cyct load value this register is the loaded value for the cbist bist rate register. the time for bist to run can be computed by the following equation: (shift count) ? (c30 clock ? 2) ? (cycle time). it is used by the bist function for chip test. length 32 bits type read/write address xxxx 05c0 power on reset value x ? ffff ffff ? length 32 bits type read/write address xxxx 05c4 power on reset value x ? 0000 0000 ? length 32 bits type read/write address xxxx 05c8 power on reset value x ? 0000 5800 ? bit(s) name description 31-18 reserved reserved. 17-0 bist iteration count loaded value for the cbist bist rate register.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_7dmaqs.fm.06 august 14, 2000 dma queues (dmaqs) page 115 of 706 3.5 dma queues (dmaqs) the following sections describe the features of dmaqs, how to set up dmaqs, and some troubleshooting tips. 3.5.1 dma descriptors dma descriptors can reside in either pci/system memory space or the pnr memory space. certain types of descriptors, called cut-through dma descriptors, must be located in the pnr memory space. dma descrip- tors that are located in the pnr memory space are more efficient to process because they do not need to be moved across the pci bus. however, it is more costly for software to update across the bus. the best option is to mix descriptors in both locations. dma descriptors that are infrequently changed should reside in the pnr memory, while dynamic descriptors should be placed in system memory. descriptors located in the pnr memory space must fall in a definable address range. see 3.5.27 dmaqs local descriptor range reg- isters on page 134. 3.5.2 dma types and options the dma descriptor is very versatile and can perform many actions. the following list shows some examples and possible flags to use. other combinations are possible: see 3.5.24 dmaqs transfer count and flag register on page 130. figure 10: dma descriptor layout flags/byte count source address destination address high order system address flags/byte count source address destination address 32 bits blocks of up to 63 descriptors one descriptor can be queued with one enqueue primitive. note: the high order system address field (word 4) is not present when the chip is in 32-bit addressing mode. high order system address
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary dma queues (dmaqs) page 116 of 706 pnr261_7dmaqs.fm.06 august 14, 2000 using the above, you can efficiently do tcp check summing, place user events in receive queues, do register reads/writes, free buffers, and get buffers. 3.5.3 descriptor based dmas this is the recommended approach to processing dmas. a single descriptor or a descriptor chain is built that describes the actions to take. the descriptor is then enqueued to the proper dma queue. the number of descriptors in the dma chain is placed in the lower six bits of the descriptor address as it is enqueued. table 14: dma types and flags hex flags dma operation 3000 clear the current tcp checksum and include this dma in the tcp checksum. 1000 include this dma in the tcp checksum and use previous checksum as seed. 0800 this dma transfer is done in little endian mode. 0400 upon completion of this dma descriptor, the destination address from this descriptor is used as a packet address to be enqueued to transmit. 0100 queue a dma complete event when dma is complete. 0080 status in the status register is inhibited for this descriptor. this can be useful if ints/polling are being used to track when a particular dma is complete. 0001 move system memory to the pnr memory. 0010 move the pnr memory to system memory. 0012 move a single pnr register to system memory. 0013 move pnr memory to system memory and free buffer. upon dma completion, the source address is used to free the pnr buffer. 0017 auto-increment source address and move pnr memory to system memory and free buffer. upon dma comple- tion, the source address is used to free the pnr buffer. 0002 move a single pnr register to pnr memory. 0020 move pnr memory to a single pnr register. 0021 move system memory to a single pnr register. 0031 move system memory to a new pnr buffer. a get buffer operation will be done to fill in the destination address using the low four bits of the destination address as a get pool id. 0050 move something to source address of next descriptor. allows indirection. 0062 move a single pnr register to destination address of the next descriptor. allows a get buffer operation in descrip- tor chain. see the get buff flag for a better option. 0008 use source address as immediate data. allows up to four bytes of immediate data in the dma descriptor. 0004 auto-increment the source address. the source address picks up where it left off from the previous dma descrip- tor. 000c auto-increment the source address and use as immediate data. one use is to free a packet after dmaing data. see the free buff flags for better options. 0040 auto-increment the destination address. the destination address picks up where it left off from the previous dma descriptor. one use is transmit scatter into an pnr virtual buffer. 2200 hold the destination address. useful for freeing a scatter dma list, or doing a repetitive write to an pnr register. 1200 hold the source address. useful for doing a repetitive read from an pnr register. note : these are not the only options. some of the above can be ored together also.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_7dmaqs.fm.06 august 14, 2000 dma queues (dmaqs) page 117 of 706 3.5.4 register based dmas while register based dmas can be enabled and used, they are not recommended because they are not as efficient and they do not leave a debug trail as the descriptors do in the dma queue. these should not be used concurrently with descriptor-based dmas for a particular queue, but register-based and descriptor- based dmas can be used on different queues. one possible use for register-based dmas is doing dmas from the core. 3.5.5 polling, interrupts, or events there are several choices for handling dma completion. first, the status register can be polled. while not very efficient, it is the easiest option. second, you can use interrupts to tell when a dma is done. again, not very efficient. however, interrupts should be used to tell when a dma error has occurred. one way to deal with dma completes is to use the rxque event mechanism. by generating events, the user can dump in dma descriptors and clean up at a later time when it is convenient. the user can use the auto- matic dma events using the queue on dma complete flag, or the user can place a user event on an arbitrary queue by writing a dma descriptor that does an explicit rxque enqueue with user data. 3.5.6 error detection and recovery ideally, there should not be any errors. errors are usually user errors in the dma descriptor which need to be fixed and are not recoverable. errors on the pci bus (that is, parity) should not occur in a normal working sys- tem, and typically you do not want to recover them. however, if recovery is desired, the current dma must be recovered in gpdma. upon successful completion of the recovered dma, dmaqs will resume operation. 3.5.7 dma/queue scheduling options there are three dma queues. queue 0 is higher priority than the other two. this high priority queue is always scheduled to go if the current descriptor is ready. the other two queues (q1 and q2) are of equal priority and are scheduled in a round robin fashion when the descriptor is ready. this is meant to provide a transmit dma queue, receive dma queue, and a high priority dma queue. however, these queues can be used for any pur- pose by setting the routing registers properly. the queues can be arbitrated after each dma request length operation, after complete dma descriptor chains complete, or after a single dma descriptor in a chain completes. the queues can also be placed in true round robin mode, where all three queues have equal priority. 3.5.8 address size dmaqs can be operated with either 32- or 64-bit system addresses. see 3.1.21 pcint 64-bit control reg- ister on page 56. all dmaqs address registers are 64 bits wide. in 32-bit addressing mode, the high order portion of address registers are initialized at reset to ? 0 ? and cannot be modified. in 32 bit addressing mode, word four of the dma buffer descriptor is ignored.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary dma queues (dmaqs) page 118 of 706 pnr261_7dmaqs.fm.06 august 14, 2000 3.5.9 data width dmaqs recognizes 64 bit writes to 64 bit internal registers. dmaqs internal 64-bit registers may be written either as a 64-bit entity, or by two 32-bit writes. all dmaqs registers are memory mapped on a 64-bit bound- ary (address bits 2:0 = 0). when in 64-bit addressing mode, an address register is updated with 32 bit writes (atomicity of update cannot be guaranteed). the user should use semaphores to assure the integrity of the operation. 3.5.10 initialization of dmaqs dmaqs is very simple to set up by following these steps: 1. set up each of the three dma queues. to do this, you need to know the size of each queue (see 3.5.12 dmaqs upper bound registers on page 120 for choices). given this information, the dma queue is set up with two register writes in diag- nostic mode (see 3.5.19 dmaqs control register on page 126). dmaqs->lowerbound[q] = baseaddress; // should be aligned with size of queue dmaqs->upperbound[q] = encodedsize; // set encoded size of dma queue or dmaqs->bounds[q] = baseaddress + encodedsize; // if 64 bit data is enabled the data structure for the dma queue is now set up. 2. set up the queue thresholds if they are being used: dmaqs->threshold[q]=threshold; // set threshold size to be interrupted; may also need to set int mask 3. set up the local dma descriptor range if local descriptors are being used: dmaqs->localdescriptorlowerbound = localdescriptorbase;// set base addr of local desc in pnr memory dmaqs->localdescriptorupperbound = localdescriptorend;// set ending addr of local desc in pnr memory 4. set up any options that are being used in the dmaqs control register: dmaqs->control[set] = enable_dma_queues | clr_checksum_to_foxes; // set options/modes 5. finally, clear the diagnostic bit: dmaqs->control[clr] = diag_mode; // clear the diag mode bit 6. need to set up memory bank selection if necessary, but normally control memory is used.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_7dmaqs.fm.06 august 14, 2000 dma queues (dmaqs) page 119 of 706 3.5.11 dmaqs lower bound registers these registers specify the lower bound of the corresponding dma queue data structure. the head, tail, and length of the dma queue are initialized when this register is written. when the dma queue wraps past the upper bound, it wraps back to the value in the lower bound register, thus implementing the dma queue as a circular buffer. when this register is written, the corresponding dma queue is essentially reset. this is because the head, tail, and length of the queue are all reset. . length 32 bits type read/write address queue 0 xxxx 0604 queue 1 xxxx 0684 queue 2 xxxx 0704 power on reset value x ? 0000 0000 ? restrictions during normal operations, these registers are read only. these registers can only be written when the diagnostic bit has been set in the dmaqs control register. the alignment should correspond to the size specified in the upper bound register. for example, it should be 4k aligned if the upper bound specifies 4k size. the low order nine bits are not writable and read back ? 0 ? .
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary dma queues (dmaqs) page 120 of 706 pnr261_7dmaqs.fm.06 august 14, 2000 3.5.12 dmaqs upper bound registers these registers specify the encoded size/upper bound of the corresponding dma queue data structure. the actual upper bound is calculated by adding the decoded queue size to the lower bound. when the dma queue wraps past the upper bound, it wraps back to the lower bound register, thus implementing the dma queue as a circular buffer. the following are the new 3 bit events mentioned above: 000: tx dma complete 001: rx dma complete 010: tx dma complete with error 011: rx dma complete with error 100: tx dma complete with virtual error 101: zero address in dma desc src/dst addr length 32 bits type read/write address queue 0 xxxx 0600 queue 1 xxxx 0680 queue 2 xxxx 0700 power on reset value x ? 0000 0000 ? restrictions during normal operations, these registers are read only. these registers can only be written when the diagnostic bit has been set in the dmaqs control register. bit(s) name description 31-30 location of queue 00 use the location specified in the mode register. 01 queue located in on chip memory. 10 queue located in control memory. 11 queue located in packet memory. 27-24 descriptor alignment and event type/location 0000 64 byte aligned, and original 2.5 events 0001 8 byte aligned, new events in lower 3 bits 0010 16 byte aligned, new events in lower 3 bits 0011 32 byte aligned, new events in lower 3 bits 0100 64 byte aligned, new events in lower 3 bits 1000 4 byte aligned, new events in upper nibble 1001 8 byte aligned, new events in upper nibble 1010 16 byte aligned, new events in upper nibble 1011 32 byte aligned, new events in upper nibble 1100 64 byte aligned, new events in upper nibble 2-0 encode upper bound 000 512 bytes of memory 001 1k bytes of memory 010 2k bytes of memory 011 4k bytes of memory 100 8k bytes of memory 101 16k bytes of memory 110 32k bytes of memory 111 64k bytes of memory
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_7dmaqs.fm.06 august 14, 2000 dma queues (dmaqs) page 121 of 706 3.5.13 dmaqs head pointer registers these registers point to the head element of the corresponding dma queue. during normal operations, these registers do not need to be read or written; they are used by the pnr to implement the dma queues. these registers are initialized when the dmaqs lower bound registers for the corresponding dma queue are writ- ten. 3.5.14 dmaqs tail pointer registers these registers point to the next free element of the corresponding dma queue. length 32 bits type read/write address queue 0 xxxx 0608 queue 1 xxxx 0688 queue 2 xxxx 0708 power on reset value x ? 0000 0000 ? restrictions during normal operations, these registers are read only. they can only be written when the diagnostic bit has been set in the dmaqs control register. the head pointer registers are 4-byte aligned (low order two bits are always ? 0 ? ). bits 31-17 are calculated internally and are not writable. length 32 bits type read/write address queue 0 xxxx 060c queue 1 xxxx 068c queue 2 xxxx 070c power on reset value x ? 0000 0000 ? restrictions during normal operations, these registers are read only. they can only be written when the diagnostic bit has been set in the dmaqs control register. the head pointer registers are four-byte aligned (low order two bits are always ? 0 ? ). bits 31-17 are calculated internally and are not writable.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary dma queues (dmaqs) page 122 of 706 pnr261_7dmaqs.fm.06 august 14, 2000 3.5.15 dmaqs length registers these registers specify the length in bytes of the corresponding dma queue. this register is cleared when the corresponding dmaqs lower bound register is written. 3.5.16 dmaqs threshold registers these registers specify a queue length threshold at which the corresponding status bit is generated. these registers should be set equal to the queue length that should cause status to be generated. for exam- ple, if the value was set to five, then no interrupt would be generated until the queue was length five or more for the corresponding dma queue. the threshold is level sensitive, so as long as the length is greater than or equal to the threshold, the corresponding status bit is set. when this register is set to ? 0 ? , no thresholding occurs. length 32 bits type read only address queue 0 xxxx 0614 queue 1 xxxx 0694 queue 2 xxxx 0714 power on reset value x ? 0000 0000 ? restrictions the lengths are calculated and cannot be written. bit(s) name description 31-17 reserved reserved. 16-0 queue length current length of respective queue. length 32 bits type read/write address queue 0 xxxx 061c queue 1 xxxx 069c queue 2 xxxx 071c power on reset value x ? 0000 0000 ? restrictions must be a multiple of four. bit(s) name description 31-17 reserved reserved. 16-0 queue length threshold these bits indicate the minimum number of entries that must be in the respective queue to set that queue ? s threshold exceeded bit in the dmaqs status register on page 123.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_7dmaqs.fm.06 august 14, 2000 dma queues (dmaqs) page 123 of 706 3.5.17 dmaqs status register this register indicates the source(s) of the interrupt(s) pending. length 32 bits type set/clear address xxxx 06f0 and 06f4 power on reset value x ? 0000 9200 ? restrictions none reserved zero address in source/destination enq fifo threshold exceeded enq fifo full enqueue primitive sequence error zero length dma loaded error enqueuing pcore descriptor error enqueuing csked descriptor error enqueuing reasm descriptor error enqueuing descriptor dma descriptor error dma descriptor queue 2 not full dma descriptor queue 2 threshold exceeded dma descriptor queue 2 full dma descriptor queue 1 not full dma descriptor queue 1 threshold exceeded dma descriptor queue 1 full dma descriptor queue 0 not full dma descriptor queue 0 threshold exceeded dma descriptor queue 0 full error occurred during descriptor transfer error occurred during dma transfer q2 error occurred during dma transfer q1 error occurred during dma transfer q0 dma transfer complete q2 dma transfer complete q1 dma transfer complete q0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-26 reserved reserved. 25 zero address in source/destina- tion when set, a zero address was detected in the source or destination field of a dma descriptor. the remainder of the descriptor chain was skipped and an event was enqueued to the dma complete queue. this may or may not be an error condition. it is not an error if the get buffer mode is being used and no buffer was available. in this case, the descriptor can be retried or discarded by software. 24 enq fifo threshold exceeded when set, the dma enqueue fifo length threshold has been exceeded. 23 enq fifo full when set, the dma enqueue fifo is full and further enqueues will be held off. this bit is hot and cannot be reset. 22 enqueue primitive sequence error this bit is set when an improper sequence is detected for loading the dmaqs enqueue dma descriptor primitive in 64 bit addressing mode. 21 zero length dma loaded a descriptor was loaded that had a dma length equal to zero. this will not stop the dma engine, but it is technically a user error. 20 error enqueuing pcore descrip- tor a descriptor was enqueued from pcore with a chain length of zero. 19 error enqueuing csked descrip- tor a descriptor was enqueued from csked with a chain length of zero. 18 error enqueuing reasm descrip- tor a descriptor was enqueued from reasm with a chain length of zero.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary dma queues (dmaqs) page 124 of 706 pnr261_7dmaqs.fm.06 august 14, 2000 17 error enqueuing descriptor a descriptor was enqueued with a chain length of zero. 16 dma descriptor error an invalid transfer was described by the value loaded into the transfer count and flag register. 15 dma descriptor queue 2 not full the dma descriptor queue 2 is not full. this bit always contains the status of the queue and is therefore is not writable. 14 dma descriptor queue 2 thresh- old exceeded the threshold for dma descriptor queue 2 has been exceeded. 13 dma descriptor queue 2 full the dma descriptor queue 2 is full. this bit always contains the status of the queue and is therefore is not writable. 12 dma descriptor queue 1 not full the dma descriptor queue 1 is not full. this bit always contains the status of the queue and is therefore is not writable. 11 dma descriptor queue 1 thresh- old exceeded the threshold for dma descriptor queue 1 has been exceeded. 10 dma descriptor queue 1 full the dma descriptor queue 1 is full. this bit always contains the status of the queue and is therefore is not writable. 9 dma descriptor queue 0 not full the dma descriptor queue 0 is not full. this bit always contains the status of the queue and is therefore is not writable. 8 dma descriptor queue 0 thresh- old exceeded the threshold for dma descriptor queue 0 has been exceeded. 7 dma descriptor queue 0 full the dma descriptor queue 0 is full. this bit always contains the status of the queue and is therefore is not writable. 6 error occurred during descriptor transfer hardware errors occurred transferring the dma descriptor. the transfer stopped after detecting the error. if the descriptor transfer is finished or is to be terminated, the byte count register must be written to clean up the failed descriptor transfer. before this bit is reset, the dma descriptor queue must contain the valid descriptor data. 5 error occurred during dma transfer q2 hardware errors occurred during the last transfer on queue 2. the transfer stopped after detecting the error. inspect the gpdma registers for the actual location of error. 4 error occurred during dma transfer q1 hardware errors occurred during the last transfer on queue 1. the transfer stopped after detecting the error. inspect the gpdma registers for the actual location of error. 3 error occurred during dma transfer q0 hardware errors occurred during the last transfer on queue 0. the transfer stopped after detecting the error. inspect the gpdma registers for the actual location of error. 2 dma transfer complete q2 the dma transfer has completed for queue 2. 1 dma transfer complete q1 the dma transfer has completed for queue 1. 0 dma transfer complete q0 the dma transfer has completed for queue 0. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_7dmaqs.fm.06 august 14, 2000 dma queues (dmaqs) page 125 of 706 3.5.18 dmaqs interrupt enable register this register allows the user to enable interrupts for each of the conditions reported in the dmaqs status register . each bit corresponds to the same bit in the status register and when set to ? 1 ? generates an interrupt from dmaqs to intst if the condition is detected. length 32 bits type set/clear address xxxx 0670 and 0674 power on reset value x ? 0026 0078 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary dma queues (dmaqs) page 126 of 706 pnr261_7dmaqs.fm.06 august 14, 2000 3.5.19 dmaqs control register this register is used to set options for dmaqs. length 32 bits type set/clear address xxxx 0770 and 0774 power on reset value x ? 000c 0001 ? restrictions see bit descriptions. reset fifo restart dma reserved disable descriptor snooping disable descriptor prefetch enable cache flushes of local descriptor fifo length threshold enable full round robin scheduling rearbitrate on descriptor completion rearbitrate on descriptor chain completion true queue zero preference scheduling mode queue 2 uses on chip sram queue 1 uses on chip sram queue 0 uses on chip sram memory select for pnr dma descriptor memory select for dma queues enable register based dmas clear checksum to all ones queue on error endian of dma descriptors enable queue 2 dmas enable queue 1 dmas enable queue 0 dmas diagnostic mode 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31 reset fifo when this bit is set, the internal dma enqueue fifo is flushed, and this bit is reset. the result is that this bit will always be read as a ? 0 ? . this bit can only be set in diagnostic mode. 30 restart dma when this bit is set, the internal dma state machine restarts the current dma that is stopped, and this bit is reset. the result is that this bit will always be read as a ? 0 ? . this bit should only be used at the specific recommendation of an pnr developer. 29-23 reserved reserved. 22 disable descriptor snooping when this bit is set, the dma descriptor snooping logic is disabled. when this bit is enabled, pnr performance may be enhanced. 21 disable descriptor prefetch when this bit is set, the next descriptor prefetch logic is disabled. performance may be enhanced by enabling this function. 20 enable cache flushes of local descriptor when this bit is set, all local dma descriptors are flushed out of bcach before being used. this only needs to be used if local dma descriptors are in packet memory and are updated via the slave interface. cut-through descriptors do not fall in this category. 19-17 fifo length threshold this value is used to set the fifo length threshold. when this threshold is exceeded, bit 24 of the dmaqs status register is set. 16 enable full round robin schedul- ing when this bit is set, all three dma queues are of equal priority. when cleared, queue 0 is higher priority than queues 1 and 2.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_7dmaqs.fm.06 august 14, 2000 dma queues (dmaqs) page 127 of 706 15 rearbitrate on descriptor comple- tion when this bit is set, the dma queues are rearbitrated after each individual dma descrip- tor completes. 14 rearbitrate on descriptor chain completion when this bit is set, the dma queues are rearbitrated after full dma descriptor chains complete. this bit takes precedence over bit 15. when both bits 14 and 15 are cleared, the queues are rearbitrated after each dma request length operation. 13 true queue zero preference scheduling mode bit 13 is provided to ensure compatibility with previous chips. in version 2.1 and before, queue 0 would not be scheduled immediately after itself if queue 1 or queue 2 were ready when a queue 0 dma completed. this was because it took at least one cycle to reload the queue registers. in the pnr, the queue registers are loaded while the arbitration for the next dma is being done, if preloading or snooping is enabled. in this case, with bit 17 set, a queue 0 dma may be immediately followed by another queue 0 dma. with bit 17 reset, the scheduling (with all queues ready) is q0q1q0q2q0q1.... this mode is provided to give queue 0 scheduling preference without permitting it to lock out the other two queues. 12 queue 2 uses on-chip sram this bit directs queue 2 to fetch all dma descriptors from the on-chip sram. bits 63-18 of the system descriptor address will be ignored. 11 queue 1 uses on-chip sram this bit directs queue 1 to fetch all dma descriptors from the on-chip sram. bits 63-18 of the system descriptor address will be ignored. 10 queue 0 uses on-chip sram this bit directs queue 0 to fetch all dma descriptors from the on-chip sram. bits 63-18 of the system descriptor address will be ignored. 9 memory select for pnr dma descriptor when this bit is set, the dma descriptors that are located in the pnr are located in packet memory. otherwise they are located in control memory. 8 memory select for dma queues when this bit is set, the dma queues are located in packet memory. otherwise they are located in control memory. 7 enable register based dmas when this bit is set, source, destination, count, and system descriptor address (sda) reg- isters can be written to start a dma. 6 clear checksum to all ones when this bit is set and the dmaqs checksum register is cleared, the dmaqs check- sum register is set to x ? ffff ? . when this bit is cleared and the dmaqs checksum register is cleared, the dmaqs checksum register is set to ? 0 ? . this option should be used if the tcp/ip checksum should never be set to ? 0 ? (x ? ffff ? is ? 0 ? also). 5 queue on error when set, this bit causes any dma error to log an error event. 4 endian of dma descriptors when set, this bit indicates that dma descriptors in system memory are in little endian format. the default is big endian. 3 enable queue 2 dmas this bit enables dma queue 2. 2 enable queue 1 dmas this bit enables dma queue 1. 1 enable queue 0 dmas this bit enables dma queue 0. 0 diagnostic mode when this bit is set, dmaqs is in diagnostic mode. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary dma queues (dmaqs) page 128 of 706 pnr261_7dmaqs.fm.06 august 14, 2000 3.5.20 dmaqs enqueue dma descriptor primitive register this register enqueues a dma descriptor chain to the corresponding dma queue. the write data is the address of the descriptor chain that describes the dma transfers. the low six bits contain a count of the num- ber of dma descriptors in this chain. after the dma descriptors are enqueued by writing to this register, the chain of descriptors is fetched from system memory and the dma transfers described by the chain of descrip- tors are performed. in 32 bit addressing mode, the low-order 32 bits of the register are written, and the high- order 32 bits are reset when the register is loaded. 3.5.21 dmaqs source address register this register is used to set and keep track of the source address during a dma transfer. this is the source for the current dma transfer. a bit in the transfer count and flag register determines whether the source address is internal to the pnr or is a system address. in 32-bit addressing mode, the low-order 32 bits of the register are written, and the high-order 32 bits are reset when the register is loaded. length 64 bits type write address queue 0 xxxx 0620 queue 1 xxxx 06a0 queue 2 xxxx 0720 power on reset value x ? 0000 0000 0000 0000 ? restrictions none length 64 bits type read/write address queue 0 xxxx 0638 queue 1 xxxx 06b8 queue 2 xxxx 0738 power on reset value x ? 0000 0000 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_7dmaqs.fm.06 august 14, 2000 dma queues (dmaqs) page 129 of 706 3.5.22 dmaqs destination address register this register is used to set and keep track of the destination address during a dma transfer. this is the des- tination address for the current dma transfer. in 32-bit addressing mode, the low-order 32 bits of the register are written, and the high-order 32 bits are reset when the register is loaded. a bit in the transfer count and flag register determines whether the destination address is internal to the pnr or is a system address. 3.5.23 dmaqs buffer address register this register is used to set and keep track of the pools buffer address during a dma transfer. when the dma descriptor directs that a new buffer address be obtained from pools, this is the buffer address for the current dma transfer. a bit in the transfer count and flag register determines whether a buffer address has been obtained for this descriptor. this register can be written to an rxque queue. the low-order seven bits should be set to x ? 2a ? , the event code for assign pool buffer events. this is the destination address for the current dma transfer. length 64 bits type read/write address queue 0 xxxx 0628 queue 1 xxxx 06a8 queue 2 xxxx 0728 power on reset value x ? 0000 0000 0000 0000 ? restrictions none length 32 bits type read/write address queue 0 xxxx 0630 queue 1 xxxx 06b0 queue 2 xxxx 0730 power on reset value x ? 0000 002a ? restrictions these registers should not be written during normal system operation. the low-order 7 bits are set to x ? 2a ? and should not be modified. this is the event code for bfa events in rxque.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary dma queues (dmaqs) page 130 of 706 pnr261_7dmaqs.fm.06 august 14, 2000 3.5.24 dmaqs transfer count and flag register this register specifies the type and number of bytes transferred during a dma transfer. the lower 16 bits are a counter of the number of bytes transferred during a dma transfer. the upper 16 bits specify the type of transfer. length 32 bits type read/write address queue 0 xxxx 0644 queue 1 xxxx 06c4 queue 2 xxxx 0744 power on reset value x ? 0000 0000 ? restrictions none register destination is 64 bits wide register source is 64 bits wide clear checksum/hold dest compute checksum/hold src little endian mode tx on dma complete hold mode queue on dma complete inhibit status update when dma complete destination address specifier source address specifier byte transfer count 313029282726252423222120191817161514131211109876543210 bit(s) name description 31 register destination is 64-bits wide these bits must be used with bits 25 and 29 (see below). 30 register source is 64bits wide 29 clear checksum/hold dest when this bit is set, the checksum and the alignment state are cleared. 28 compute checksum/hold src when this bit is set, a checksum will be computed over this dma segment. 27 little endian mode when this bit is written to ? 0 ? , this dma channel operates in big endian mode. when set to ? 1 ? , the channels operate in little endian mode. in little endian mode, both the source and destination must be aligned on four-byte boundaries. 26 tx on dma complete when set, the destination address is used as the packet address that is to be enqueued to csked to be transmitted. the lower bits are set to ? 0 ? so the buffer base is used for the csked enqueue operation.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_7dmaqs.fm.06 august 14, 2000 dma queues (dmaqs) page 131 of 706 25 hold mode when set, bits 31-28 are redefined to allow the source or destination address to be held instead of incremented. bit 29 becomes hold destination address and bit 28 becomes hold source address. this allows a single dma descriptor to do an n-to-1 or 1-to-n trans- fer. for example, an entire scatter dma list can be freed to a receive queue enqueue reg- ister. the address being held must be a register address. when holding, the maximum length is 252 bytes. when holding, the source or destination is incremented by four when the dma completes (for auto-increment mode). bit 31 becomes destination address 64 bits wide. bit 30 becomes source address 64 bits wide. this destination is required to properly update 64 bit wide registers when hold mode is asserted. 24 queue on dma complete when this bit is set, the upper 26 bits of the dmaqs system descriptor address register will be queued to the dma event queue when the dma completes. if descriptors are not being used to set up the dma, then before starting the dma, the dmaqs system descriptor address register should be loaded before starting the dma with a value to identify this transfer. if descriptors are being used, the dmaqs system descriptor address register will be loaded automatically with the system address of the descriptor block at the time it is processed. 23 inhibit status update when dma complete normally a bit will be set in the status register when the dma completes without error. if this bit is set, this update will not be done. this bit is useful when multiple dmas are to be done and an interrupt is only desired on the last transfer. the dma error status bits are not affected by this bit. 22-20 destination address specifier these bits specify how the destination address should be used for this dma descriptor. the following are the valid patterns: 000 pnr memory address: the destination address specifies an pnr internal mem- ory address. 001 pci bus address: the destination address specifies a pci bus address. 010 pnr register address: the destination address specifies an pnr register address. only the low 16 bits must be specified. 011 get pnr buffer: the low four bits of the destination address specify a pool id from which to get a buffer. if a buffer is not available, a zero destination address event or appropriate status is raised. otherwise the buffer address is used as an pnr memory address. 100 auto increment destination address: the destination address is sourced from the previous dma instead of the destination address specified in the descriptor. 101 next source address: the destination address is the address of the source address field of the next descriptor in the current dma chain. using this feature allows indirection. 110 next destination address: the destination address is the address of the destina- tion address field of the next descriptor in the current dma chain. using this fea- ture allows operations like doing a get buffer in the dma descriptor chain. 111 offset destination address: the destination address is a positive offset from the dmaqs buffer address register. using this feature allows, for example, storing the checksum value in the header of the packet. others reserved: reserved and flagged as errors. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary dma queues (dmaqs) page 132 of 706 pnr261_7dmaqs.fm.06 august 14, 2000 3.5.25 dmaqs system descriptor address register the upper 57 bits contain the address of the current descriptor block and the lower seven bits contain the number of descriptors in the chain that remain to be processed. when doing register-based dmas, the low six bits are set to ? 000001 ? when the dmaqs transfer count and flag register is written. if dma descriptors are used for dma transfers, this register will contain the system address of the current descriptor block and the number of descriptors that remain to be processed. this address may be queued on dma completion to correlate dma transfers with system control blocks. in 32-bit addressing mode, the low-order 32 bits of the register are written, and the high-order 32 bits are reset when the register is loaded. 19-16 source address specifier these bits specify how the source address should be used for this dma descriptor. the following are the valid patterns: 0000 pnr memory address: the source address specifies an pnr internal memory address. 0001 pci bus address: the source address specifies a pci bus address. 0010 pnr register address: the source address specifies an pnr register address. only the low 16 bits must be specified. 0011 pnr memory address and free buffer when dma complete: the source address specifies an pnr internal memory address, and this address will be freed to pools when the dma is complete. -100 auto increment source address: the source address is sourced from the previ- ous dma instead of the source address specified in the descriptor. -111 auto increment source address and free buffer when dma complete: the source address is sourced from the previous dma instead of the source address specified in the descriptor. the source address specifies an pnr internal mem- ory address, and this address will be freed to pools when the dma is com- plete. 1000 immediate data: use the source address field as immediate data. the data is 4 bytes in 32-bit addressing mode or eight bytes when in 64 bit addressing mode. if the count is greater than the data size, the data is repeated. 1011 immediate data and free buffer when dma complete: use the source address field as immediate data. the data is 4 bytes in 32 bit addressing mode or eight bytes when in 64-bit addressing mode. if the count is greater than the data size, the data is repeated. the source address will be freed to pools when the dma is complete. others reserved: reserved and flagged as errors. 15-0 byte transfer count these bits indicate the number of bytes to transfer. a non-zero value in this field will start the dma transfer. length 64 bits type read/write address queue 0 xxxx 0648 queue 1 xxxx 06c8 queue 2 xxxx 0748 power on reset value x ? 0000 0000 0000 0000 ? restrictions this register should not be written if descriptors are going to be used to set up dma transfers. if it is used, it must be written to 0 before descriptors are enqueued. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_7dmaqs.fm.06 august 14, 2000 dma queues (dmaqs) page 133 of 706 3.5.26 dmaqs checksum register this register contains the accumulated checksum value. it can also be used to initialize the checksum with a seed value. the most significant bit contains the alignment state (1 = odd, 0 = even alignment). the align- ment state is significant between subsequent checksummed dmas. this register can be read at four different addresses. the base address returns the unmodified accumulated checksum. the base address +4 returns the inverted accumulated checksum. the base address + 8 returns the byte-swapped accumulated checksum. the base address + 12 returns the inverted byte-swapped accu- mulated checksum. length 32 bits type read/write address q0 sum xxxx 0654 q0 inv sum xxxx 065c q0 swapped sum xxxx 0664 q0 inv swapped xxxx 066c q1 sum xxxx 06d4 q1 inv sum xxxx 06dc q1 swapped sum xxxx 06e4 q1 inv swapped xxxx 06ec q2 sum xxxx 0754 q2 inv sum xxxx 075c q2 swapped sum xxxx 0764 q2 inv swapped xxxx 076c power on reset value q0 sum x ? 0000 0000 ? q0 inv sum x ? 0000 ffff ? q0 swapped sum x ? 0000 0000 ? q0 inv swapped x ? ffff 0000 ? q1 sum x ? 0000 0000 ? q1 inv sum x ? 0000 ffff ? q1 swapped sum x ? 0000 0000 ? q1 inv swapped x ? ffff 0000 ? q2 sum x ? 0000 0000 ? q2 inv sum x ? 0000 ffff ? q2 swapped sum x ? 0000 0000 ? q2 inv swapped x ? ffff 0000 ? restrictions only the base address accepts write data. all four addresses return read data.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary dma queues (dmaqs) page 134 of 706 pnr261_7dmaqs.fm.06 august 14, 2000 3.5.27 dmaqs local descriptor range registers these registers specify the lower and upper bounds of the memory range for local dma descriptors. these registers contain the address of the lower and upper bound of the memory range of descriptors that are in the pnr. if a descriptor block is enqueued, it is compared to these registers. if it falls within this range, only the descriptor address is placed on the queue. when the descriptor is to be loaded into the dma regis- ters, and it falls within this range, it will not be taken from the queue but loaded directly from the descriptor address. these registers are 4k aligned. the upper bound register contains the address of the last 4k block in the local descriptor address range. 3.5.27.1 dmaqs local descriptor range lower bound register 3.5.27.2 dmaqs local descriptor range upper bound register bit(s) name description 31-17 reserved reserved. 16 checksum alignment this bit set to a ? 1 ? indicates odd alignment. this bit set to a ? 0 ? indicates even alignment. 15-0 accumulated checksum the current value of the checksum being calculated. length 64 bits type read/write address xxxx 0798 power on reset value x ? 0000 0000 0000 0000 ? restrictions can be written in diagnostic mode only. the last four addresses in this range are reserved, and should not be used to hold descriptors. length 32 bits type read/write address xxxx 07a4 power on reset value x ? 0000 0000 ? restrictions can be written in diagnostic mode only. upper bound is 32 bits. the upper 32 bits are internally generated, and are not different from the upper 32 bits of the lower bound register. the last four addresses in this range are reserved, and should not be used to hold descriptors.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_7dmaqs.fm.06 august 14, 2000 dma queues (dmaqs) page 135 of 706 3.5.28 dmaqs event queue number register this register specifies which dmaqs queue should be used when dma descriptors are enqueued from csked (dma on transmit comp). this register also indicates the rxque event queue to which events should be enqueued for each dmaqs queue register. length 32 bits type read/write address xxxx 07cc power on reset value x ? 0000 2210 ? restrictions can be written in diagnostic mode only. bit(s) name description 31-20 reserved reserved. 19 change csked queue if this bit is set on a write, the csked queue is modified. 18 change queue 2 event queue selector if this bit is set on a write, the queue 2 event queue selector field is modified. 17 change queue 1 event queue selector if this bit is set on a write, the queue 1 event queue selector field is modified. 16 change queue 0 event queue selector if this bit is set on a write, the queue 0 event queue selector field is modified. 13-12 csked queue specifies which dmaqs queue should be used when dma descriptors are enqueued by csked. invalid code is treated as queue 2. 11-8 queue 2 event queue selection specifies the event queue to be used for events originating from dmaqs queue 2. 7-4 queue 1 event queue selection specifies the event queue to be used for events originating from dmaqs queue 1. 3-0 queue 0 event queue selection specifies the event queue to be used for events originating from dmaqs queue 0.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary dma queues (dmaqs) page 136 of 706 pnr261_7dmaqs.fm.06 august 14, 2000 3.5.29 dmaqs dma request size register this register specifies the maximum request size for dma descriptor scheduling. this is the amount of data that dmaqs will request gpdma to move in a single request. for example, if a descriptor wants to move 2k of data and the request size is set to 512 bytes, then dmaqs will request 512 bytes to be moved and then rearbitrate the dma queues. a value of ? 0 ? is the same as x ? ffff ? . 3.5.30 dmaqs enq fifo register this register is for diagnostic use only. it holds dma descriptors waiting to be placed on a dma queue. read- ing this register is destructive. the oldest entry is read on each read. if it is desired to re-dispatch the dequeued entries, they will have to be re-enqueued. dma descriptors which reside in system storage are not immediately copied into the queue, but space is reserved in the queue for the descriptors, and a descriptor is built which will copy the descriptor into the queue when needed. length 32 bits type read/write address xxxx 07c4 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-16 reserved reserved. 15-0 maximum request size these bits indicate the largest number of bytes dmaqs will request at one time from gpdma. length 64 bits type read only address xxxx 07f8 power on reset value x ? 0000 0000 0000 0000 ? restrictions cannot be written.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_8cometpakit.fm.06 august 14, 2000 the dram controllers (comet/pakit) page 137 of 706 3.6 the dram controllers (comet/pakit) this section describes the function of the comet/pakit entities. comet is the memory controller for con- trol memory, and pakit is the memory controller for packet memory. each controller can support the following types of memory:  synchronous drams running at 133 mhz (7.5 ns cycle time) with a cas latency of two or three and a burst length of two. memory sizes of 4 mb, 8 mb, 16 mb, 32 mb, 64 mb, and 128 mb are supported. please note that the cycle time of the sdram clock is a constant on the pnr. any sdram part selected must be capable of running at 133 mhz or faster at cas latency 2 or 3.  synchronous sram running at 133 mhz (7.5 ns cycle time) with a read latency of two and a write latency of zero or two. memory sizes of 1 mb, 2 mb, 4 mb, and 8 mb are supported. note: for any memory configuration, modules must be selected such that the loading on any memory net (including card wiring) does not exceed 44 pf. the number of column address lines is programmable, allowing both drams with symmetric address (same number of row and column address lines) and asymmetric address (typically having more row than column address lines). if using sdram, the memory may be operated as having one or two arrays. the arrays are differentiated by their chip selects. if the memory is configured to have two arrays, the memory's address range is split equally between the two arrays. memory checking can be enabled/disabled, and the method of checking selected can be either ecc or parity. if ecc is selected, seven data bits are used for ecc over the 32 data bits. if parity is selected, four data bits are used to provide parity over the 32 data bits. comet/pakit are designed so that memory contents are preserved over a reset. if the pnr is reset while a memory write cycle is in progress, the cycle is completed in an orderly fashion to ensure that valid ecc/parity is written. memory timings are not violated when reset goes active. refresh is maintained during the reset. 3.6.1 memory reset sequence after a reset, onboard rom or external firmware must properly configure the control registers for comet/ pakit. if using sram, the reset sequence is complete. if using sdram, bit 3 of the memory controller's sdram command and status register must be written to a ? 1 ? to initiate forcing the sdrams out of the self refresh state and performing the por sequence. when bits five and four of this register are '00', the sdrams are ready for use. note: memory configuration errors occur if an attempt is made to use memory that is configured incorrectly or, if an attempt is made to use sdram before the por sequence is completed. accesses to the first x ? 20 ? bytes of memory (control or packet) are not allowed unless bit 26 of the corre- sponding memory control register is set. with this restriction in place, accesses with zero-valued pointers will cause the zero address error bit in the memory controller ? s status register to be set.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the dram controllers (comet/pakit) page 138 of 706 pnr261_8cometpakit.fm.06 august 14, 2000 3.6.2 comet/pakit control register this register contains the information that controls the functions of the entity. before this register can be altered, writing it must be enabled in the comet/pakit memory controller write enable register (described on page 149). length 32 bits type clear/set comet address xxxx 0900 and 0904 pakit address xxxx 0980 and 0984 power on reset value x ? 0000 0000 ? restrictions none reserved 4/2 bank sdram device reserved encode sram chip selects disable zero address error detection state information selection disable driving memory data nets when idle sdram split ecc reserved drive sram output enables freeze dram error registers latch error registers on single bit errors enable ecc or parity sram byte enables for writes only disable sdram overlapped parity or ecc reserved sram or sdram latency memory type memory unpopulated sdram column address size/sram module width memory size number of dram arrays 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-30 reserved reserved. 29 4/2 bank sdram device when this bit is ? 1 ? , the sdrams attached are four-bank devices. when a ? 0 ? , the sdrams are two-bank devices. a ? 0 ? setting works for either type device, but four-bank devices provide slightly better performance if this bit is set to ? 1 ? . 28 reserved reserved. 27 encode sram chip selects when using sram, this bit set to a ? 0 ? causes the chip select outputs to be direct chip selects. set to ? 1 ? , chip selects 2-0 carry an encoded value for one of eight chip selects. chip select three indicates when chip selects 2-0 are valid. 26 disable zero address error detection when set to ? 1 ? , this bit disables the detection of zero address errors to memory. 25-24 state information selection these bits control what will be visible on the enstate outputs if comet/pakit are selected for observation on the enstate pins. 23 disable driving memory data nets when idle when set to ? 1 ? , this bit disables the memory controller from driving the memory data nets to ? 0 ? when the controller is idle.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_8cometpakit.fm.06 august 14, 2000 the dram controllers (comet/pakit) page 139 of 706 22 sdram split ecc when set to ? 1 ? , this bit indicates that the ecc/parity for multiple arrays of memory are in separate modules and a slight increase in performance is possible. if this bit is ? 0 ? , the ecc/parity is in a shared module. if using neither ecc or parity, this bit should be set to ? 1 ? for a slight performance increase. this bit applies only when sdram is being used. 21 reserved reserved. 20 drive sram output enables when set to ? 1 ? , this bit allows functional output enables to be driven for srams. when set to ? 0 ? , the output enables are driven active continuously. 19 freeze error registers when set to ? 1 ? , this bit freezes the memory address register and the syndrome register when a memory error occurs. when this bit is set to ? 0 ? , the error registers are updated whenever an error is encountered. for this bit to have any meaning with single bit errors, bit 18 must also be ? 1 ? . 18 latch error registers on single bit errors when set to ? 1 ? , this bit allows error data to be latched into the memory error address register and the syndrome register when a single bit errors occurs. when this bit is set to ? 0 ? , single bits errors do not latch data into the error registers. 17 enable ecc or parity this bit set to ? 1 ? enables ecc detection/correction or parity error detection. 16 sram byte enables for writes only when set to ? 1 ? , this bit causes byte enables to only be driven on writes to sram. the enables are driven inactive for reads. if the bit is set to ? 0 ? , the byte enables are valid on both reads and writes. 15 disable sdram overlapped bank accesses/shorten sram write duration when the memory controller is configured for sdram, setting this bit to ? 1 ? disables the overlapping of bank accesses. when configured for sram, setting this bit to ? 1 ? shortens the time the pnr drives data on writes. 14 parity or ecc when set to ? 1 ? , this bit causes parity to be generated. this bit set to ? 0 ? causes ecc to be generated. ecc is supported for dram only. 13-12 reserved reserved. 11-10 sram or sdram latency these bits indicate the delay between performing a read and the memory returning data. the bits are encoded as follows: 00 1 cycle (sram only) 01 2 cycles 10 3 cycles (sdram only) 11 reserved 9-8 memory type these bits indicate the type of memory being used for memory. the bits are encoded as follows: 00 sram 01 zbt sram 10 synchronous dram (sdram) 11 enhanced synchronous dram (esdram) 7 memory unpopulated if this bit is ? 1 ? , there is no physical memory connected to this controller. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the dram controllers (comet/pakit) page 140 of 706 pnr261_8cometpakit.fm.06 august 14, 2000 6-4 sdram column address size/ sram module width these bits indicate the number of column address lines. the bits are encoded for sdram as follows: ? 000 ? 8 column address lines (256 words/row) ? 001 ? 9 column address lines (512 words/row) ? 010 ? 10 column address lines (1 k words/row) ? 011 ? reserved ? 1xx ? reserved the bits are encoded for sram as follows: ? 000 ? 18-bit wide 4 mb sram ? 001 ? 18-bit wide 8 mb sram ? 010 ? 18-bit wide 16 mb sram ? 011 ? 18-bit wide 32 mb sram ? 100 ? 36-bit wide 4 mb sram ? 101 ? 36-bit wide 8 mb sram ? 110 ? 36-bit wide 16 mb sram ? 111 ? 36-bit wide 32 mb sram 3-1 memory size these bits indicate the total amount of memory present, that is, two 64mb sdram arrays would result in a value of 128 mb in these bits. the bits are encoded as follows: ? 000 ? 1 mb ? 001 ? 2 mb ? 010 ? 4 mb ? 011 ? 8 mb ? 100 ? 16 mb ? 101 ? 32 mb ? 110 ? 64 mb ? 111 ? 128 mb - sdram only 0 number of dram arrays this bit indicates the number of arrays of dram present. this bit set to ? 0 ? indicates one array; the bit set to ? 1 ? indicates two arrays. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_8cometpakit.fm.06 august 14, 2000 the dram controllers (comet/pakit) page 141 of 706 3.6.3 comet/pakit status register this register contains status information for comet/pakit. length 32 bits type clear/set comet address xxxx 0908 and 090c pakit address xxxx 0988 and 098c power on reset value x ? 0000 0000 ? restrictions none reserved zero address error memory configuration error uncorrectable error detected single bit error memory address out of range error reserved 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-6 reserved reserved. 5 zero address error this bit is set if comet/pakit is presented an address of zero. 4 memory configuration error this bit is set if comet/pakit is configured in an invalid combination. 3 uncorrectable error detected this bit is set if an uncorrectable error is detected. 2 single bit error this bit is set if a single bit ecc error is detected. 1 memory address out of range error this bit is set if the address presented to the memory controller is out of the defined range. 0 reserved reserved.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the dram controllers (comet/pakit) page 142 of 706 pnr261_8cometpakit.fm.06 august 14, 2000 3.6.4 comet/pakit interrupt enable register this register allows the user to enable interrupts for each of the conditions reported in the comet/pakit status register . each bit corresponds to the same bit in the status register and when set to ? 1 ? generates an interrupt from comet/pakit to intst if the condition is detected. 3.6.5 comet/pakit lock enable register this register allows the user to selectively allow each of the conditions reported in the comet/pakit status register to force a memory lock condition in the memory controller. each bit corresponds to the same bit in the status register and when set to ? 1 ? causes a memory lock if the condition is detected. length 32 bits type clear/set comet address xxxx 0910 and 0914 pakit address xxxx 0990 and 0994 power on reset value x ? 0000 003a ? restrictions none bit(s) name description 31-6 reserved reserved. 5-0 interrupt enable when one of these bits is set to one and the corresponding bit in the comet/pakit sta- tus register is also set, an interrupt is generated. length 32 bits type clear/set comet address xxxx 0918 and 091c pakit address xxxx 0998 and 099c power on reset value x ? 0000 003a ? restrictions none bit(s) name description 31-6 reserved reserved. 5-0 lock memory when one of these bits is set to one and the corresponding bit in the comet/pakit sta- tus register is also set, the memory subsystem will lock.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_8cometpakit.fm.06 august 14, 2000 the dram controllers (comet/pakit) page 143 of 706 3.6.6 comet/pakit memory error address register this register holds the address at which the last memory error occurred. length 32 bits type read only comet address xxxx 0920 pakit address xxxx 09a0 power on reset value x ? 0000 0000 ? restrictions none reserved error address 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-27 reserved reserved. 26-0 error address the read address of the last memory error.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the dram controllers (comet/pakit) page 144 of 706 pnr261_8cometpakit.fm.06 august 14, 2000 3.6.7 comet/pakit sdram command and status register this register is used to issue various commands to and control the timing operation of synchronous drams when they are attached to the pnr. if the pnr is not configured for sdrams, any writes to bits 3-0 of this register are ignored. this register is also used to reflect the status of the synchronous drams. when a com- mand bit in this register is set (bits 3-0 only), the command executes and resets the bit upon completion. only one bit (3-0 only) may be set during any write. software should poll this register to make sure the previous command has completed before issuing another write to this register. if more than one bit at a time is written to this register (3-0 only), the results may be unpredictable. length 32 bits type read/write comet address xxxx 0924 pakit address xxxx 09a4 power on reset value x ? 0000 3030 ? restrictions none reserved t rcd delay t dpl delay t ras delay t rp delay t rc delay reserved por self refresh initialize sdrams start power on reset sequence enter the self refresh state exit the self refresh state 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-28 reserved reserved. 27-24 t rcd delay the value of these four bits determine the number of cycles between ras and cas. to determine the value needed in these bits, take the t rcd parameter from the specification of the sdram part to be used, divide by 7.5 ns, and round up if necessary. suggested values are: x ? 3 ? 6.8 ns sdram x ? 2 ? 6 ns esdram x ? 2 ? 7.5 ns esdram 23-20 t dpl delay the value of these four bits determine the number of cycles after writing data before a precharge command may be issued. to determine the value needed in these bits, take the t dpl3 (for cas latency 3) or t dpl2 (for cas latency 2) parameter from the specifica- tion of the sdram part to be used, divide by 7.5 ns, and round up if necessary. sug- gested values are: x ? 2 ? 6.8 ns sdram x ? 1 ? 6 ns esdram x ? 1 ? 7.5 ns esdram
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_8cometpakit.fm.06 august 14, 2000 the dram controllers (comet/pakit) page 145 of 706 19-16 t ras delay the value of these four bits determine the number of cycles a bank must be active. to determine the value needed in these bits, take the t ras parameter from the specification of the sdram part to be used, divide by 7.5 ns, and round up if necessary. suggested values are: x ? 7 ? 6.8 ns sdram x ? 3 ? 6 ns esdram x ? 3 ? 7.5 ns esdram 15-12 t rp delay the value of these four bits determines the number of cycles after a bank precharge starts before the bank may be accessed again. to determine the value needed in these bits, take the t rp parameter from the specification of the sdram part to be used, divide by 7.5 ns, and round up if necessary. if t dpl is 2, t rp may need to be increased by one to insure correct operation. suggested values are: x ? 4 ? 6.8 ns sdram x ? 2 ? 6 ns esdram x ? 2 ? 7.5 ns esdram 11-8 t rc delay the value of these four bits determine the bank cycle time. to determine the value needed in these bits, take the t rc parameter from the specification of the sdram part to be used, divide by 7.5 ns, and round up if necessary. suggested values are: x ? a ? 6.8 ns sdram x ? 5 ? 6 ns esdram x ? 5 ? 7.5 ns esdram 7-6 reserved reserved. 5por when set to ? 1 ? , this bit indicates the por sequence has not been performed on the sdrams. this bit automatically resets to ? 0 ? when the por sequence has been per- formed. 4 self refresh this bit reads ? 1 ? when the sdrams are in the self refresh state. this bit reads ? 0 ? when the sdrams are not in the self refresh state. this bit is ? 1 ? after a por or reset. the exit self refresh operation must be performed before the por sequence is initiated. 3 initialize sdrams this bit effectively encapsulates the functions provided by bits 2 and 0. setting this bit to ? 1 ? causes the memory controller to take the sdrams out of self refresh and perform the por sequence on them. this bit clears itself. when the initialization is complete, bits 4 and 5 should be a ? 0 ? . 2 start power on reset sequence when set to ? 1 ? , this bit causes the dram controller to initiate the sdram power on sequence. this includes an all-banks precharge, following by a command register write that sets the cas latency to 3, the wrap type to sequential, and the burst length to 1, fol- lowed by two refresh cycles. after this sequence is initiated and completed, bit 5 resets and the sdrams are ready for normal use. 1 enter the self refresh state when set to ? 1 ? , this bit causes the sdram controller to signal the sdrams to go into the self refresh state. all memory activity is suspended. once the sdrams have entered the self refresh state, bit 4 will set. this bit will clear itself. 0 exit the self refresh state when set to ? 1 ? , this bit causes the sdram controller to signal the sdrams to exit the self refresh state. once the sdrams have exited the self refresh state, bit 4 will clear. this bit will clear itself. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the dram controllers (comet/pakit) page 146 of 706 pnr261_8cometpakit.fm.06 august 14, 2000 3.6.8 comet/pakit dram refresh rate register this register holds the value of a counter used to control the rate of refresh for the dram. length 32 bits type read/write comet address xxxx 0928 pakit address xxxx 09a8 power on reset value x ? 0000 0820 ? restrictions none reserved refresh rate 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-12 reserved reserved. 11-0 refresh rate the value of these bits multiplied by 7.5 ns gives the refresh rate. the por value of x ? 820 ? yields a refresh rate of 15.6 ms.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_8cometpakit.fm.06 august 14, 2000 the dram controllers (comet/pakit) page 147 of 706 3.6.9 comet/pakit syndrome register this register holds the syndrome bits that can be used to isolate the data or check bit in error when ecc is used. when parity is used, this register indicates which of the four bytes of the memory bus had a parity error. length 32 bits type read/write comet address xxxx 092c pakit address xxxx 09ac power on reset value x ? 0000 0000 ? restrictions none reserved syndrome bits 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-7 reserved reserved. 6-0 syndrome bits when using ecc, a single bit error can be identified by matching the contents of this reg- ister to the corresponding bit in the table below. when using parity, only bits 3-0 are valid and are interpreted as follows: 0000 no parity error 0001 parity error on bits 7-0 0010 parity error on bits 15-8 0100 parity error on bits 23-16 1000 parity error on bits 31-24 other reserved table 15: ecc syndrome bits bit in error syndromes bit in error syndromes ecc(6) ? 1000000 ? ecc(5) ? 0100000 ? ecc(4) ? 0010000 ? ecc(3) ? 0001000 ? ecc(2) ? 0000100 ? ecc(1) ? 0000010 ? ecc(0) ? 0000001 ? n/a n/a data(31) ? 0111000 ? data(30) ? 0110100 ? data(29) ? 0110010 ? data(28) ? 0101100 ? data(27) ? 1110000 ? data(26) ? 1101000 ? data(25) ? 1100100 ? data(24) ? 1100010 ? data(23) ? 0100101 ? data(22) ? 0010101 ? data(21) ? 0001101 ? data(20) ? 1100001 ? data(19) ? 0110001 ? data(18) ? 0101001 ? data(17) ? 0011001 ? data(16) ? 1000101 ? data(15) ? 1010001 ? data(14) ? 1001100 ? data(13) ? 1001010 ? data(12) ? 1000110 ?
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the dram controllers (comet/pakit) page 148 of 706 pnr261_8cometpakit.fm.06 august 14, 2000 3.6.10 comet/pakit checkbit inversion register this register can be used for diagnostic purposes to invert the ecc/parity check bits that are written to mem- ory. data(11) ? 1000011 ? data(10) ? 1011000 ? data(09) ? 1010100 ? data(08) ? 1010010 ? data(07) ? 0100011 ? data(06) ? 0010011 ? data(05) ? 0001011 ? data(04) ? 0000111 ? data(03) ? 0011010 ? data(02) ? 0100110 ? data(01) ? 0010110 ? data(00) ? 0001110 ? length 32 bits type read/write comet address xxxx 0930 pakit address xxxx 09b0 power on reset value x ? 0000 0000 ? restrictions none reserved invert check bits 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-7 reserved reserved. 6-0 invert check bits setting any of these bits inverts the corresponding check bit that is written to memory. only bits 3-0 are valid when parity is used as a checking mechanism. table 15: ecc syndrome bits (continued) bit in error syndromes bit in error syndromes
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_8cometpakit.fm.06 august 14, 2000 the dram controllers (comet/pakit) page 149 of 706 3.6.11 comet/pakit memory controller write enable register this register must be written to a specific pattern before the memory control register can be written. length 32 bits type read/write comet address xxxx 0934 pakit address xxxx 09b4 power on reset value x ? 0000 00b4 ? restrictions none reserved lock bits 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-8 reserved reserved. 7-0 lock bits this register must be written to x ? b4 ? before the memory control register can be written. this register will por to x ? b4 ? , but eprom initialization code may set up the memory con- troller and clear this register back to x ? 0 ? .
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the dram controllers (comet/pakit) page 150 of 706 pnr261_8cometpakit.fm.06 august 14, 2000 3.6.12 comet/pakit memory configuration error sense register this register can be read to help determine the source of a memory configuration error. the bits in this regis- ter reset automatically once the configuration error is resolved. length 32 bits type read only comet address xxxx 0938 pakit address xxxx 09b8 power on reset value x ? 0000 0000 ? restrictions none reserved sdram not properly initialized sdram column address size error sdram invalid amount of memory sdram bad latency sram invalid amount of sram with ecc enabled sram bad latency 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-7 reserved reserved. 6 sdram not properly initialized an sdram access has been attempted without the sdrams being taken out of self refresh and/or the por sequence being performed. 5 sdram column address size error bits 6-4 of the control register have an invalid value. 4 sdram invalid amount of mem- ory bits 3-2 of the control register indicate less than 4 m of memory. 3 sdram bad latency bits 11-10 of the control register indicate a latency of one or a reserved value.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_8cometpakit.fm.06 august 14, 2000 the dram controllers (comet/pakit) page 151 of 706 2 sram invalid amount of memory bits 27, 13-12, and 3-1 of the control register indicate an invalid sram memory size. acceptable sizes are: 4 mbit x18 unmuxed chip selects of sizes 1 m, 2 m, 4 m. 8 mbit x18 unmuxed chip selects of sizes 2 m, 4 m, 8 m. 16 mbit x18 unmuxed chip selects of sizes 4 m, 8 m, 16 m. 32 mbit x18 unmuxed chip selects of sizes 8 m, 16 m, 32 m. 4 mbit x18 muxed chip selects of sizes 2 m, 4 m, 8 m. 8 mbit x18 muxed chip selects of sizes 4 m, 8 m, 16 m. 16 mbit x18 muxed chip selects of sizes 4 m, 16 m, 32 m. 32 mbit x18 muxed chip selects of sizes 8 m, 32 m, 64 m. 4 mbit x36 unmuxed chip selects of sizes 1 m, 2 m. 8 mbit x36 unmuxed chip selects of sizes 1 m, 2 m, 4 m. 16 mbit x36 unmuxed chip selects of sizes 2 m, 4 m, 8 m. 32 mbit x36 unmuxed chip selects of sizes 4 m, 8 m, 16 m. 4 mbit x36 muxed chip selects of sizes 1 m, 2 m, 4 m. 8 mbit x36 muxed chip selects of sizes 2 m, 4 m, 8 m. 4 mbit x36 muxed chip selects of sizes 4 m, 8 m, 16 m. 8 mbit x36 muxed chip selects of sizes 8 m, 16 m, 32 m. 1 sram with ecc enabled bits 17, 14, and 9-8 of the control register indicate ecc is enabled with an sram configu- ration. this is invalid. 0 sram bad latency bits 11-10 of the control register indicate a latency of three or a reserved value. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the dram controllers (comet/pakit) page 152 of 706 pnr261_8cometpakit.fm.06 august 14, 2000
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_9chksm.fm.06 august 14, 2000 on-chip checksum and dram test support (chksm) page 153 of 706 3.7 on-chip checksum and dram test support (chksm) 3.7.1 software use of chksm this section outlines some ways chksm can be set up and used. test mode possible patterns in test mode, a 64-bit pattern is written/compared to/with memory. there are several different patterns that can be used: constant test pattern when in test mode, and the rp bit is cleared, the chksm ripple base regis- ter is replicated eight times to form a 64-bit pattern. ripple pattern with increment of 1 when in test mode and the rp bit is set and rp-add is set and chksm rip- ple limit register is set to ? 0 ? , a 64-bit pattern is generated using the chksm ripple base register as a base. for example, if the chksm ripple base register is set to ? 1 ? , the following pattern is generated: 0102030405060708 0203040506070809 030405060708090a 0405060708090a0b ripple pattern with increment of 8 when in test mode and the rp bit is set and rp-add is cleared and chksm ripple limit register is set to ? 0 ? , a 64-bit pattern is generated using the chksm ripple base register as a base. for example, if the chksm ripple base register is set to ? 1 ? , the following pattern is generated: 0102030405060708 090a0b0c0d0e0f10 1112131415161718 191a1b1c1d1e1f20
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary on-chip checksum and dram test support (chksm) page 154 of 706 pnr261_9chksm.fm.06 august 14, 2000 this section contains descriptions of the registers used by the arbiter logic. initializing packet/control memory the following list shows the steps to use chksm to initialize packet or control memory:  make sure chksm is in diagnostic mode, and other mode bits are reset.  set the start address by writing the base address.  set up the read/write count with number of bytes to initialize.  set up the test pattern register (ripple pattern register) with pattern to use.  set up the control register to enable test mode, enable checksum entity, and set the memory select bit correctly based on which memory is to be initialized.  now busy wait until the operation is done (or set up interrupt enable register and wait for interrupt). testing packet/control memory the following list shows the steps to use chksm to test packet or control memory:  first initialize memory with a pattern using above sequence.  make sure chksm is in diagnostic mode, and other mode bits are reset.  set the start address by writing the base address.  set up the read/write count with number of bytes to test (same as initialization value).  the test pattern register (ripple pattern register) already contains the pattern.  set up the control register to enable test mode, turn on rw bit, enable checksum entity, and set the memory select bit correctly based on which memory is to be initialized.  now busy wait until the operation is done (or set up interrupt enable register and wait for interrupt).  when done, check the status register for any errors. ripple pattern with ripple limit each of the above ripple patterns can also make use of the chksm ripple limit register. by setting this register, the user can control when the ripple pattern rolls over to zero. for example, when the chksm ripple limit regis- ter is set to three in increment-by-one mode the ripple pattern looks like: 0102030405060708 0203040506070809 030405060708090a 0001020304050607 0102030405060708 0203040506070809 030405060708090a similarly, when the chksm ripple limit register is set to ten, in increment- by-eight mode, the ripple pattern looks like: 0102030405060708 090a0b0c0d0e0f10 1112131415161718 0001020304050607
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_9chksm.fm.06 august 14, 2000 on-chip checksum and dram test support (chksm) page 155 of 706 using ripple pattern generation/checking in packet/control memory the procedures to use the ripple pattern generation and checking are the same as using test write/read modes. the only difference is that the use ripple pattern mode bit must be set and the ripple pattern base reg- ister must be set up. 3.7.2 running a tcp/ip checksum in packet/control memory the following list shows the steps to use chksm to generate/verify a tcp/ip checksum:  make sure chksm is in diagnostic mode (not enabled).  set the start address by writing the base address.  set up the read/write count with number of bytes to run checksum over, and set the upper two bits of the read/write count register. writing these upper two bits assumes other mode bits are set correctly (that is, memory bank select).  now busy wait until the operation is done (or set up interrupt enable register and wait for interrupt). 3.7.3 chksm base address register the chksm base address register indicates the starting address of a test operation or checksum calcula- tion. the base address can be set up with any alignment and valid address. this register increments with each read or write to memory. on a test mode error, the register holds the address of the 64-bit word which was read in error. length 32 bits type read/write address xxxx 0a00 power on reset value x ? 0000 0000 ? restrictions can only be written when chksm is not enabled (see ee bit in 3.7.10 chksm control register on page 161)
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary on-chip checksum and dram test support (chksm) page 156 of 706 pnr261_9chksm.fm.06 august 14, 2000 3.7.4 chksm read/write count register the chksm read/write count register indicates the count of remaining bytes of a checksum operation. this register keeps track of how many bytes remain in the current checksum operation and is decremented with each read or write operation. any length can be set in the 30 lower significant bits. the upper two bits of this register can be written when starting a checksum operation instead of writing the control register. length 32 bits type read/write address xxxx 0a04 power on reset value x ? 0000 0000 ? restrictions can only be written when chksm is not enabled (see ee bit in 3.7.10 chksm control register on page 161). st-ck cl-ip remaining bytes 313029282726252423222120191817161514131211109876543210 bit(s) name description 31 st-ck start a checksum operation. when this bit is written, bits 0 and 1 in the control register are set, and a checksum operation is started. this should only be done when the rest of the control register bits are already set up (i.e., memory select, invert checksum). 30 cl-ip when this bit is written, it will clear the chksm tcp/ip checksum data register. this is the same as writing a ? 1 ? to bit 6 of the chksm control register. 29-0 remaining bytes bytes remaining in checksum calculation.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_9chksm.fm.06 august 14, 2000 on-chip checksum and dram test support (chksm) page 157 of 706 3.7.5 chksm tcp/ip checksum data register the chksm tcp/ip checksum data register collects the 16-bit, two ? s complement, end-around-carry sum of the bytes. the source data is zero padded if it starts or ends on an odd byte boundary. it can be seeded with an initial value. if it is not cleared before running a checksum, the previous value w ill act as a seed. this register can be cleared when starting a checksum operation by writing the clip bit in the chksm control register or by writing upper bits of the chksm read/write count register. see 3.7.10 chksm control register on page 161 for description of how to get/set current checksum align- ment. length 32 bits type read/write address normal sum xxxx 0a08 inverted sum xxxx 0a0c swapped sum xxxx 0a34 inverted swapped sum xxxx 0a38 power on reset value x ? 0000 0000 ? restrictions can only be written when chksm is not enabled (see ee bit in 3.7.10 chksm control register on page 161). bit(s) name description 31-16 reserved reserved. 15-0 calculated checksum as a checksum operation proceeds, the checksum generated is stored here.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary on-chip checksum and dram test support (chksm) page 158 of 706 pnr261_9chksm.fm.06 august 14, 2000 3.7.6 chksm ripple base register this register is used as base of a ripple pattern when in test mode. each consecutive byte will be incre- mented by one or eight in the pattern. the ripple mode must be set in the control register to use this feature. the value of this register will change during the test operation. if a write and compare operation is being per- formed, this register needs to be set up again for the second operation. length 32 bits type read/write address xxxx 0a14 power on reset value x ? 0000 0000 ? restrictions can only be written when chksm is not enabled (see ee bit in 3.7.10 chksm control register on page 161). bit(s) name description 31-8 reserved reserved. 7-0 ripple pattern base when written prior to a test operation, this register will contain the initial value used to generate the test pattern. during the test operation, this register will be repeatedly updated as the test advances.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_9chksm.fm.06 august 14, 2000 on-chip checksum and dram test support (chksm) page 159 of 706 3.7.7 chksm ripple limit register this register is used to determine when the ripple base register overflows to zero. this register forms the compare value for the ripple base register. when the value of the ripple base register is greater than or equal to this register, the base register will overflow to zero. for example, when this register is set to four, the ripple base register would count from zero through four if counting by one. when set to x ? 0000 0000 ? , no overflows to zero occur. for example, when bits 7-0 of the ripple value are x ? ff ? , and you are counting by eight, the next value would still be x ? 07 ? . if counting by one, then the next value would be x ? 00 ? . this register should be written before the ripple base. 3.7.8 chksm interrupt enable register this register allows the user to enable interrupts for each of the conditions reported in the chksm status register . each bit corresponds to the same bit in the status register and when set to ? 1 ? generates an interrupt from chksm to intst if the condition is detected. length 32 bits type read/write address xxxx 0a10 power on reset value x ? 0000 00ff ? restrictions can only be written when chksm is not enabled (see ee bit in 3.7.10 chksm control register on page 161). bit(s) name description 31-8 reserved reserved. 7-0 ripple limit maximum value for the ripple base register. length 32 bits type clear/set address xxxx 0a20 and 0a24 power on reset value x ? 0000 0ffe ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary on-chip checksum and dram test support (chksm) page 160 of 706 pnr261_9chksm.fm.06 august 14, 2000 3.7.9 chksm status register this register is used to relay chksm status information. length 32 bits type clear/set address xxxx 0a18 and 0a1c power on reset value x ? 0000 0001 ? restrictions the count zero bit is not writable. reserved tex lck te1 te0 cz 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-12 reserved reserved. 11-4 tex test error in byte 7-0. when these bits are set, the checksum has determined that a read comparison error was encountered in the corresponding byte. byte 0 is bits 63-56 in a 64- bit long word. 3lck comet lock. when this bit is set, the checksum has determined that comit has ceased operation for some reason, or a virtual error was detected. 2te1 test error msw. when this bit is set, checksum has determined that a read comparison error was encountered in the most significant 32-bit word. 1te0 test error lsw. when this bit is set, the checksum has determined that a read compari- son error was encountered in the least significant 32-bit word. 0 cz count zero. this bit is set when the terminal count of an operation is reached.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_9chksm.fm.06 august 14, 2000 on-chip checksum and dram test support (chksm) page 161 of 706 3.7.10 chksm control register the various bits in this register control the mode in which the checksum entity operates. length 32 bits type clear/set address xxxx 0a28 and 0a2c power on reset value x ? 0000 0000 ? restrictions none reserved cl-ff ex-al hi-lo sw-sum in-sum rp-add cl-ip rp ms rw tm et ee 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-13 reserved reserved. 12 cl-ff clear to all ones. when this bit is set, the chksm tcp/ip checksum data register is set to x ? ffff ? when it is cleared. when this bit is cleared, the chksm tcp/ip checksum data register is set to ? 0 ? . this option should be used if the tcp/ip checksum should never be set to ? 0 ? (x ? ffff ? is ? 0 ? also). 11 ex-al expose alignment. when this bit is set, the internal checksum alignment is exposed for reading/writing. for writes, bit 16 of the write data is used to set the internal alignment. for reads, the alignment is exposed in bit 16 or bit 0 depending on the value of the hi-lo bit in this register. this can be useful if doing non-consecutive multiple part check sums (need to preserve alignment between chunks). when this bit is cleared, the internal checksum alignment is not exposed. it is always cleared when the cl-ip bit in this regis- ter is set. normally, the internal alignment is calculated and maintained across consecu- tive check sums. 10 hi-lo hi lo word. when this bit is set, the checksum data register data is placed in the most significant 16 bits of the 32-bit value read. when this bit is cleared, the checksum data register data is placed in the least significant 16 bits of the 32-bit value read. this bit does not affect how writes to the checksum data register occur; the data from the least signifi- cant 16 bits is always used. 9sw-sum swap checksum. when this bit is set, the checksum data register data is byte-swapped when read. when this bit is cleared, the checksum data register data is read normally. there are also new checksum data register addresses that can be read that do the same thing as this control bit. this bit is depreciated. 8in-sum invert checksum. when this bit is set, the checksum data register data is inverted when read. when this bit is cleared, the checksum data register data is read normally. there are also new checksum data register addresses that can be read that do the same thing as this control bit. this bit is depreciated. 7rp-add ripple addend. when this bit is set, the ripple base register counts up by one. when this bit is cleared, the ripple base register counts up by eight. 6cl-ip clear ip. when this bit is written, it will clear the chksm tcp/ip checksum data regis- ter and itself. the result of this will be that this bit will never be read as a ? 1 ? . the internal alignment is also cleared.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary on-chip checksum and dram test support (chksm) page 162 of 706 pnr261_9chksm.fm.06 august 14, 2000 5rp ripple. when this bit is set, a ripple pattern will be used in both the read and write test modes. the ripple pattern is used instead of the constant test pattern. when this bit is reset, the constant test pattern is used for the test mode data. 4ms memory select. when this bit is set, all chksm memory accesses are to the control memory. when this bit is cleared, all chksm memory accesses are to the packet mem- ory. 3rw r/-w test mode. when this bit is set, the entity will take the data that is read and com- pare it to the test/ripple pattern. when this bit is reset, the checksum entity will write data using the test/ripple pattern to the dram. 2tm test mode. when this bit is set, the entity will take the data that is read and compare it to the test/ripple pattern, or will write data using the test/ripple pattern to the dram depend- ing on the setting of the rw bit. in both cases, the reading or writing will continue until either an error is encountered or the chksm read/write count register counts down to ? 0 ? . when this bit is reset, the checksum entity will operate as described by the other bits. test and chksm modes are mutually exclusive, and test mode takes precedence. 1et enable tcp checksum updates. when this bit is set, the entity will collect the tcp checksum in the chksm tcp/ip checksum data register. when this bit is reset, the chksm tcp/ip checksum data register will not be changed by data that is read from the dram. test and chksm modes are mutually exclusive, and test mode takes precedence. 0ee enable entity chksm. when this bit is set, the entity will run as specified. when this bit is reset, the entity will not run. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_9chksm.fm.06 august 14, 2000 on-chip checksum and dram test support (chksm) page 163 of 706 3.7.11 debugging register access 3.7.11.1 chksm internal state internal state of checksum. note: this register should not be written unless specifically directed to do so by ibm technical support. length 32 bits type read/write address xxxx 0a3c power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-3 reserved reserved. 2-0 internal state of checksum for use only as specifically directed by ibm technical support.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary on-chip checksum and dram test support (chksm) page 164 of 706 pnr261_9chksm.fm.06 august 14, 2000
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_10linkc.fm.06 august 14, 2000 the phy interface (linkc) page 165 of 706 3.8 the phy interface (linkc) 3.8.1 functional description linkc provides the interface between the pnr and either an atm phy device or, when the internal framer is selected, a serializer/deserializer device. linkc is composed of three pieces. linkx, which contains all the registers described below, is clocked with the same clock as other parts of the chip. linkt, the transmit logic, is clocked on the transmit clock, which is selected via the clock control register (described in clock control register on page 111). linkr, the receive logic, is clocked on the receive clock, which is also selectable via the clock control register. trans- mit and receive transfers are synchronized via their respective interface transfer clock. the data path size is 8- or 16-bits wide and is selectable through bit 3 of the control register. the pnr interfaces the following phy devices:  pmc sierra pm5346 suni lite  pmc sierra pm5351 suni tetra  pmc sierra pm5356 suni 622 max  pmc sierra pm5357 suni 622 pos  utopia 8- or 16-bit interface  pmc sierra pos-phy 3.8.2 multi-drop when the pnr is in multi-drop utopia mode, it supports four external phy devices. each port is associated with a configuration register. four configurations are provided so up to four different types of phys can be connected to the pnr. this allows the user to mix cell and pos-phy devices on the transmit and/or receive interface. the multi-drop phy devices supported are utopia level 2 (cell based) and pmc sierra pos-phy (packet/ frame based). the pnr will select which phy device will transfer data next by polling each of the devices to determine which phys can transfer data. a round-robin switching scheme is used to determine which phy has the priority if more then one wants to transmit/receive data. the pnr will switch to a new drop when a cell has been received/transmitted (for a cell-based phy) or when 64 bytes or eop (end of packet) has been received/transmitted (for pos-phy phys). the transmit and receive sides of link are separately config- urable for multi-drop mode (bits 1 and 0 of the global control register). 3.8.3 pos-phy the pos-phy interface complies with the pmc sierra pos-phy level 2 specification. the pnr polls each pos-phy device to determine its status on both the receive and transmit side. it looks to switch to a different port when 64 bytes or eop (end of packet) have been transferred between the pos-phy and itself. the pnr does not support direct status indication or byte-level transfers. therefore, the phy must be pro- grammed to always be able to send/receive at least 64 bytes of information. the rmod signal will only be looked at when reop is ? 1 ? ; at all other times it will be ignored. pos-phy devices should be configured so that they will only signal they are ready for a transfer if they have 64 bytes free in their receive buffer and 64 bytes or eop in their transmit fifo.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the phy interface (linkc) page 166 of 706 pnr261_10linkc.fm.06 august 14, 2000 3.8.4 linkc global control register this register contains the information which controls the operation of linkc. these controls affect all config- urations. table 16: moving cells to and from the pnr (number of cycles to transfer various cells) interface data payload cell cycles for 8-bit bus cycles for 16-bit bus utopia 48 52 52 26 utopia 48 53 53 27 utopia 48 54 54 27 utopia 48 55 55 28 utopia 48 56 56 28 length 32 bits type clear/set address xxxx 0b30 and 0b34 power on reset value x ? c000 0344 ? restrictions none enable linkc reserved allow rx side to stall ignore rx empty signal ignore tx full signal always transfer cell receive side talks to a pmc-sierra 622pos device(pm5357) reserved transmit phy watchdog timer receive phy watchdog timer enable transmit side watchdog timer enable receive side watchdog timer disable phy bus drivers fixed priority on transmit side serdes external loopback mode utopia cell length override standard utopia cell length loopback mode enable transmit multi-drop enable receive multi-drop 313029282726252423222120191817161514131211109876543210
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_10linkc.fm.06 august 14, 2000 the phy interface (linkc) page 167 of 706 bit(s) name description 31 enable linkc this bit, when set to ? 1 ? , enables linkc. the default for this bit is ? 1 ? . 30 reserved reserved. 29 allow rx side to stall when this bit is set, the receive side is allowed to stall, allowing the pnr to park on a port until the port has data for the pnr. this bit should be set when the pnr is being run in multi-drop mode and is interfacing with a single drop pos-phy device that doesn ? t have address pins. 28 ignore rx empty signal when this bit is set to ? 1 ? , the empty signal is ignored and the pnr always assumes that the phy has data. the default for this bit is ? 0 ? . 27 ignore tx full signal when this bit is set the full signal will be ignored and it is always assumed the phy has room. the default for this bit is ? 0 ? . 26 always transfer cell when this bit is set to ? 1 ? , the tca (transmit cell available) is ignored until the current transfer ends. this mode is recommended when talking to a single-drop utopia device. the default for this bit is ? 0 ? . 25 receive side talks to a pmc- sierra 622pos device(pm5357) this bit must be set to ? 1 ? when the receive side of the pnr is communicating to a pmc- sierra 622-pos device(pm5357). setting this bit will cause the pnr to raise fyrenb one cycle before the receive side fifo overruns. 24 reserved reserved. 23-20 transmit phy watchdog timer these four bits are the number of transmit clock cycles the transmit side (linkt) will wait before switching to another phy. if the timer times out, a status bit in the linkc interrupt/ status register will be set for the offending phy. 19-16 receive phy watchdog timer these four bits are the number of receive clock cycles the receive side (linkr) will wait before switching to another phy. if the timer times out, a status bit in the linkc interrupt/ status register will be set for the offending phy. 15 enable transmit side watchdog timer this bit, when set to ? 1 ? , causes linkt to time out if the phy has started to take data but is now unable to take data for the number of cycles determined by the transmit phy watchdog timer (bits 23-20). the timer is only valid if the transmit side is in multi-drop mode. 14 enable receive side watchdog timer this bit, when set to ? 1 ? , causes linkr to time out if the phy is receiving data and is unable to provide data for the number of cycles determined by the receive phy watch- dog timer (bits 19-16). the timer is only valid if the receive side of linkc is in multi-drop mode and the phy is a utopia device. 13 disable phy bus drivers this bit, when set to ? 1 ? , tri-states the drivers of the phy bus. when set to ? 0 ? , the drivers are enabled. 12 fixed priority on transmit side when this bit is set to '1', the transmit side will have a fixed priority instead of a round robin priority. when the fixed priority is used port 0 will have the highest priority and port 3 will have the lowest. the default for this bit is '0'. 11 serdes external loopback mode when this bit is set to ? 1 ? , the receive side serdes input is routed to the transmit side serdes output. 10-4 utopia cell length these seven bits define what the utopia cell length (in bytes) will be if the override stan- dard utopia cell length bit (bit 3) is set to ? 1 ? . the upper limit of this register is 64 and the lower limit is one. the default value of these bits is x ? 0110100 ? . 3 override standard utopia cell length when this bit is set to ? 1 ? , the standard utopia cell length (52 or 53 bytes) is replaced by the value in bits 10-4. this bit has no effect on phys that aren't utopia and it disables the hec generation for any utopia phy.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the phy interface (linkc) page 168 of 706 pnr261_10linkc.fm.06 august 14, 2000 2 loop back mode this bit set to ? 1 ? places the pnr in an internal loop back mode. the phy interface will be disabled. the clocks to linkt and linkr should be set to the same source in the clock control register. this bit is flushed to a ? 1 ? after por. for loopback to work in multi-drop mode the transmit and receive configurations must be the same. when a configuration is set up for utopia cell-based transmission the receive and transmit sides should be identi- cal in all ways. these include odd/even parity, data path length, 52-byte cell mode, null cell generation, and hec generation of null cells. the additional header bytes should be set to ? 00 ? when in loopback mode. see table 17: legal loopback configurations on page 168. 1 enable transmit multi-drop setting this bit to ? 1 ? puts the transmit side into multi-drop mode. in multi-drop mode the pnr supports four configurations and four unique ports. this bit should not be set if the transmit side is connected to the internal sonet framer. configuration 0 transmit con- trol register will control the transmit interface. if this bit is not set, the pnr is in single drop mode. 0 enable receive multi-drop setting this bit to ? 1 ? puts the receive side into multi-drop mode. in multi-drop mode, the pnr supports four configurations and four unique phy ports. this bit should not be set if the receive side is connected to the internal sonet framer. configuration 0 receive control register will control the receive interface. if this bit is not set, the pnr receive side is in single drop mode. table 17: legal loopback configurations configuration 0 configuration 1 configuration 2 configuration 3 transmit receive transmit receive transmit receive transmit receive sonet sonet not used not used not used not used not used not used utopia cell utopia cell not used not used not used not used not used not used not used not used utopia cell utopia cell not used not used not used not used not used not used not used not used utopia cell utopia cell not used not used not used not used not used not used not used not used utopia cell utopia cell utopia cell utopia cell utopia cell utopia cell utopia cell utopia cell utopia cell utopia cell pos-phy pos-phy not used not used not used not used not used not used not used not used pos-phy pos-phy not used not used not used not used not used not used not used not used pos-phy pos-phy not used not used not used not used not used not used not used not used pos-phy pos-phy pos-phy pos-phy pos-phy pos-phy pos-phy pos-phy pos-phy pos-phy utopia cell utopia cell pos-phy pos-phy pos-phy pos-phy pos-phy pos-phy pos-phy pos-phy utopia cell utopia cell pos-phy pos-phy pos-phy pos-phy pos-phy pos-phy pos-phy pos-phy utopia cell utopia cell pos-phy pos-phy pos-phy pos-phy pos-phy pos-phy pos-phy pos-phy utopia cell utopia cell utopia cell utopia cell utopia cell utopia cell pos-phy pos-phy pos-phy pos-phy utopia cell utopia cell pos-phy pos-phy utopia cell utopia cell pos-phy pos-phy utopia cell utopia cell pos-phy pos-phy pos-phy pos-phy utopia cell utopia cell pos-phy pos-phy utopia cell utopia cell utopia cell utopia cell pos-phy pos-phy bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_10linkc.fm.06 august 14, 2000 the phy interface (linkc) page 169 of 706 3.8.5 linkc additional transmit control register this register contains additional information for controlling the operation of the transmit side of link. pos-phy pos-phy utopia cell utopia cell pos-phy pos-phy utopia cell utopia cell pos-phy pos-phy utopia cell utopia cell utopia cell utopia cell utopia cell utopia cell utopia cell utopia cell pos-phy pos-phy utopia cell utopia cell utopia cell utopia cell utopia cell utopia cell utopia cell utopia cell pos-phy pos-phy utopia cell utopia cell utopia cell utopia cell utopia cell utopia cell utopia cell utopia cell pos-phy pos-phy length 32 bits type clear/set address xxxx 0b88 and 0b8c power on reset value x ? 0000 000c ? restrictions none reserved enable force re-poll force re-poll value 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-8 reserved reserved. 7 enable force re-poll when bit 7 is a logical ? 1 ? the transmit side will never transmit to the port it is currently transmitting to, until that port has been repolled. setting this bit to a ? 1 ? and setting the force re-poll value to x'00' will insure that the transmission of back to back cells/packets to the same port will not happen without a repolling of that port between the ending of the first transfer and the start of the next. when the enable force repoll bit is set to a ? 0 ? the transmit side will always use the result of the last poll of the port it is currently transmitting to. 6-0 force re-poll value when the hex value of bits 6-0 equals the number of bytes left that the transmit side still has to send and force re-poll bit (bit 7) is on then the transmit side forces a repolling of the port to which it is currently transmitting data. if a data transfer is less, then the value of the force repoll register then the port will need to be repolled before the transmit side of charm will transfer another cell/packet to that port. due to pipelining in the transmit logic and unknown pipelining in the phys not all values are useful. table 17: legal loopback configurations (continued) configuration 0 configuration 1 configuration 2 configuration 3 transmit receive transmit receive transmit receive transmit receive
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the phy interface (linkc) page 170 of 706 pnr261_10linkc.fm.06 august 14, 2000 3.8.6 linkc configuration 0 transmit & receive control register this register contains the information that controls the operation of configuration 0 on the transmit and receive. length 32 bits type clear/set address xxxx 0b50 and 0b54 power on reset value x ? 7801 6e00 ? restrictions bits 18-16 only have meaning if a pmc pm5356 suni max/utopia is selected (bits 31-29 = ? 011 ? ). if any other device is chosen, these bits will be ignored. bits 7-0 only have meaning if a pmc pm5356 suni max/utopia is selected (bits 15-13 = ? 011 ? ). otherwise, they are ignored. bits 2-0 are used to make adjustments to the utopia interface for compatibility with the suni-phd phy. phy transmit device even/odd parity selection phy data path size reserved number of additional header bytes modify byte alignment in 16-bit phy mode pmc pm5356 suni max/utopia: 52 byte cell disable hec generation on transmitted cells parity on all 16 bits phy receive device enable parity checking disable hec generation on transmitted cells phy data path size 16 bit parity reserved byte cell unassigned/idle cell reception disable limited hec checking ignore gfc in null/idle cell determination enable xon/xoff drive renb inactive when not receiving gate rsoc with rca receive extra header byte 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-29 phy transmit device these bits indicate to which phy the pnr ? s transmit config 0 will interface. if the config- uration ? s port address is all ? 1 ? s, then the configuration is unused and the value of these bits does not matter. 000 reserved 001 pmc pos-phy (frame-based utopia) 010 reserved 011 pmc pm5356 suni max/utopia interface (sts-3c/stm-1 or sts-1) 100 reserved 101 internal sonet(sts-3c)/sdh(stm-1) framer with serdes (serial interface) 111 reserved 28 even/odd parity selection this bit when set to ? 0 ? , selects even parity. the default value is ? 1 ? for odd parity. parity will always be generated when the pnr is transmitting data. if the phy does not check parity, do not connect the lines.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_10linkc.fm.06 august 14, 2000 the phy interface (linkc) page 171 of 706 27 phy data path size this bit, when set to ? 0 ? , selects a 16-bit wide data path to the phy device. when set to ? 1 ? , the data path width to the phy is eight bits. this bit has no effect on the internal sonet/sdh framer except if the internal framer has been selected as the receive phy device but not as the transmit phy device. in this case, ? 1 ? on this bit allows fytdat(1 - 13) to be used for the 16-bit external transmit phy device, while a ? 0 ? allows fytdat(15- 13) to be used for the receive hdlc controller. this implies that it is not possible to use the internal receive framer, the receive hdlc interface, and an external 16-bit transmit framer at the same time. 26-22 reserved reserved. 21-20 number of additional header bytes these bits indicate the number of additional header bytes that will be read from segbf and added to the beginning of each cell as each is transmitted to the phy. the bytes are meant to be used for additional routing information. these control bits have no effect in ibm 25 mb/s phy mode, and should be set to ? 0 ? s when in internal sonet/sdh framer mode. if used in conjunction with 52-byte mode, the byte normally containing the cell hec will not be transmitted and the total number of cells transmitted will be the value of this field plus 52. if 16-bit phy mode is selected, by default, the byte alignment will follow that of normal 52- or 53-byte 16-bit mode, with the additional header bytes contiguously prepended. as a result, a mode with three additional header bytes cannot be obtained in 53-byte, 16-bit mode (lsb is normally padded with zeros so msb gets truncated). bit 3 of this register is therefore provided to adjust the alignment in 16-bit, 53-byte mode so all five header bytes will be transmitted with up to three additional router bytes prepended. 19 modify byte alignment in 16-bit phy mode when set to ? 1 ? , this bit changes the default byte alignment in 16-bit phy mode if this reg- ister also contains a non-zero value in bits 21-20. see the description of those bits for fur- ther details. 18 52 byte cell when set, the cell sent to the phy will be 52 bytes. no hec byte will be sent. 17 disable hec generation on transmitted cells when this bit is set to ? 1 ? , x ? 00 ? will be placed in the hec byte of utopia cells. if bit 17 is set to ? 0 ? , the value of the linkc transmitted hec control byte will be sent. if bit 18 is set to ? 1 ? , then no hec will be sent and this bit will be ignored. 16 parity on all 16 bits when set, this bit enables the pnr to produce a single parity bit across the 16-bit trans- mit data bus. when set to ? 0 ? , the pnr produces two parity bits, one across generation and the lower half of the 16 bits (parity bit 0) and one against the upper (parity bit 1). the default for this bit is ? 1 ? . 15-13 phy receive device these bits indicate to which phy the pnr ? s receive config 0 will interface. if the config- uration ? s port address is all ? 1 ? s, then the configuration is unused and the value of these bits does not matter. 000 reserved 001 pmc pos-phy (frame-based utopia) 010 reserved 011 pmc pm5356 suni max/utopia interface (sts-3c/stm-1 or sts-1) 100 reserved 101 internal sonet (sts-3c)/sdh(stm-1) framer with serdes (serial interface) 111 reserved 12 enable parity checking when set to ? 1 ? , this bit enables checking of parity on data from the receive path. when set to ? 0 ? (default), parity checking is disabled. the upper bit of the transmit parity is not valid when the internal sonet/sdh framer has been selected as the receive phy device. the upper bit of the receive parity is also not valid when the internal sonet/sdh framer has been selected as the transmit phy device. this is only a concern if a combi- nation of the internal framer and an external phy is being used and that external phy has a 16-bit data interface. in this case, parity cannot be checked or generated on the upper byte. 11 even/odd parity selection when this bit is set to ? 0 ? , even parity is selected. when this bit is set to ? 1 ? (default), odd parity is selected. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the phy interface (linkc) page 172 of 706 pnr261_10linkc.fm.06 august 14, 2000 10 phy data path size this bit, when set to ? 0 ? , selects a 16-bit wide data path to the phy device. when set to ? 1 ? , this bit selects an 8-bit wide data path to the phy device. this bit has no effect on the internal sonet/sdh framer except if the internal framer has been selected as the receive phy device but not as the transmit phy device. in this case, a ? 1 ? on this bit allows fytdat(15-13) to be used for the 16-bit external transmit phy device, while a zero allows fytdat(15-13) to be used for the receive hdlc controller. this implies that it is not possible to use the internal receive framer, the receive hdlc interface, and an external 16-bit transmit framer at the same time. 9 16 bit parity when this bit is set to ? 1 ? in 16-bit mode, parity will be calculated across all 16 bits and checked against fyrpar(1). when this bit is set to ? 0 ? in 8-bit mode, the parity will be checked against fyrpar(1). this bit has no effect if receive device is pos-phy. the default setting of this bit is ? 1 ? . 8 reserved reserved. 7byte cell when this bit is set to ? 1 ? , the cell received from the phy will be 52 bytes. no hec byte will be received. 6 unassigned/idle cell reception when set to ? 1 ? , this bit will enable unassigned/idle cell reception. this should be set to ? 0 ? when using the internal sonet framer. 5 disable limited hec checking on received idle/unassigned cells when this bit is set to ? 1 ? , the receive logic ignores the hec byte of the header of idle and unassigned cells. idle is defined as a header of x ? 0000 0001 ? and unassigned is defined as a header of x ? 0000 000n ? where n is ? xxx0 ? . if bit 6 is set to enable unassigned/idle cell reception, all cells will be passed to reasm regardless of how this bit is set. if bit 6 is set to disable unassigned/idle cell reception and this bit is set to ? 0 ? , the hec byte of cells with an apparent idle header is completely checked before deciding whether or not to pass the cell to reasm. if a cell appears to have an unassigned header, hec bits 7, 6, and 0 are checked because they are a constant, regardless of the value of bits 3, 2, and 1 of the header. if other hec bits are bad, reasm detects the hec error and discards the cell. if there is a correctable hec error and the cell is indeed unassigned, an out of range error occurs in reasm. 4 ignore gfc in null/idle cell deter- mination this bit, when set to ? 1 ? , causes the receive logic to ignore the first four bits of the atm header in determining whether a cell being received is a null or idle cell. 3 enable xon/xoff this bit, when set to ? 1 ? , allows the xon/xoff bit of the header of a received cell to sus- pend or continue transmission from the pnr ? s transmit logic for all ports associated with config 0. 2 drive renb inactive when not receiving this bit, when set to ? 1 ? , forces the receive logic to deactivate renb when in the idle state. 1 gate rsoc with rca this bit, when set to ? 1 ? , forces the receive logic to see both rsoc and rca before con- sidering rsoc valid. 0 receive extra header byte this bit, when set to ? 1 ? , allows an extra header byte to be accepted at the start of a cell by the receive logic. the extra byte is discarded. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_10linkc.fm.06 august 14, 2000 the phy interface (linkc) page 173 of 706 3.8.7 linkc configuration 1 transmit & receive control register this register contains the information which controls the operation of configuration 1 on the transmit and receive. length 32 bits type clear/set address xxxx 0b58 and 0b5c power on reset value x ? 7801 6e00 ? restrictions bits 18-16 only have meaning if a pmc pm5356 suni max/utopia (bits 31-29 = ? 011 ? ) is selected. if any other device is chosen these bits will be ignored. bits 7-0 only have meaning if a pmc pm5356 suni max/utopia (bits 15-13 = ? 011 ? ) is selected. otherwise, these bits will be ignored. bits 2-0 are used to make adjustments to the utopia interface for compatibility with the suni-phd phy. phy transmit device even/odd parity selection phy data path size reserved number of additional header bytes modify byte alignment in 16-bit phy mode pmc pm5356 suni max/utopia: 52 byte cell disable hec generation on transmitted cells parity on all 16 bits phy receive device enable parity checking disable hec generation on transmitted cells phy data path size 16 bit parity reserved byte cell unassigned/idle cell reception disable limited hec checking ignore gfc in null/idle cell determination enable xon/xoff drive renb inactive when not receiving gate rsoc with rca receive extra header byte 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-29 phy transmit device bits 31, 30, and 29 indicate to which phy the pnr ? s transmit config 1 will be interfacing. if the configuration ? s port address is all ? 1 ? s, then the configuration is unused and the value of these bits does not matter. 000 reserved 001 pmc pos-phy (frame based utopia) 010 reserved 011 pmc pm5356 suni max/utopia interface (sts-3c/stm-1 or sts-1) 100 reserved 101 reserved 111 reserved 28 even/odd parity selection even parity is selected when this bit is cleared. the default value is for odd parity. parity will always be generated when the pnr is transmitting data. if the phy does not check parity, do not connect the lines.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the phy interface (linkc) page 174 of 706 pnr261_10linkc.fm.06 august 14, 2000 27 phy data path size this bit, when set to ? 0 ? , selects a 16-bit wide data path to the phy device. when set to ? 1 ? , the data path width to the phy will be eight bits. this bit has no effect on the internal sonet/sdh framer except if the internal framer has been selected as the rx phy device but not as the tx phy device. in this case, a ? 1 ? on this bit will allow fytdat(15- 13) to be used for the 16-bit external tx phy device, while a zero will allow fytdat(15- 13) to be used for the rx hdlc controller. this implies that it is not possible to use the internal rx framer, the rx hdlc interface, and an external 16-bit tx framer at the same time. 26-22 reserved reserved. 21-20 number of additional header bytes the value of bits 21-20 indicates the number of additional header bytes that will be read from segbf and added to the beginning of each cell as each is transmitted to the phy. the bytes are meant to be used for additional routing information. these control bits have no effect in ibm 25 mb/s phy mode, and should be set to ? 0 ? s when in internal sonet/ sdh framer mode. if used in conjunction with 52-byte mode, the byte normally containing the cell hec will not be transmitted and the total number of cells transmitted will be the value of this field plus 52. if 16-bit phy mode is selected, by default, the byte alignment will follow that of normal 52- or 53-byte 16-bit mode, with the additional header bytes contiguously prepended. as a result, a mode with three additional header bytes cannot be obtained in 53-byte, 16-bit mode (lsb is normally padded with zeros so msb gets truncated). bit 3 of this register is therefore provided to adjust the alignment in 16-bit, 53-byte mode so all five header bytes will be transmitted with up to three additional router bytes prepended. 19 modify byte alignment in 16-bit phy mode when set to ? 1 ? , this bit changes the default byte alignment in 16-bit phy mode if this reg- ister also contains a non-zero value in bits 21-20. see the description of those bits for fur- ther details. 18 52 byte cell when set, the cell sent to the phy will be 52 bytes. no hec byte will be sent. 17 disable hec generation on transmitted cells if bit 17 is set to ? 1 ? , x ? 00 ? will be placed in the hec byte of utopia cells. if bit 17 is set to ? 0 ? , the value of linkc transmitted hec control byte will be sent. if bit 18 is set to ? 1 ? , then no hec will be sent and this bit will be ignored. 16 parity on all 16 bits when set, this bit enables the pnr to produce a single parity bit across the 16-bit transmit data bus. when set to ? 0 ? , the pnr produces two parity bits, one across generation and the lower half of the 16 bits (parity bit zero) and one against the upper (parity bit 1). the default for this bit is ? 1 ? . 15-13 phy receive device bits 15, 14, and 13 indicate which phy the pnr ? s receive config 1 will be interfacing. if the configuration ? s port address is all ? 1 ? s, then the configuration is unused and the value of these bits does not matter. 000 reserved 001 pmc pos-phy (frame based utopia) 010 reserved 011 pmc pm5356 suni max/utopia interface (sts-3c/stm-1 or sts-1) 100 reserved 101 reserved 111 reserved 12 enable parity checking when set, this bit enables checking of parity on data from the receive path. the default is that parity checking is disabled. the upper bit of the transmit parity is not valid when the internal sonet/sdh framer has been selected as the receive phy device. the upper bit of the receive parity is also not valid when the internal sonet/sdh framer has been selected as the transmit phy device. this is only a concern if a combination of the inter- nal framer and an external phy is being used and that external phy has a 16-bit data interface. in this case, parity cannot be checked/generated on the upper byte. 11 even/odd parity selection even parity is selected when this bit is cleared. the default value is for odd parity. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_10linkc.fm.06 august 14, 2000 the phy interface (linkc) page 175 of 706 10 phy data path size this bit, when set to ? 0 ? , selects a 16-bit wide data path to the phy device. when set to ? 1 ? , the data path width to the phy is eight bits. this bit has no effect on the internal sonet/sdh framer except if the internal framer has been selected as the rx phy device but not as the tx phy device. in this case, a ? 1 ? on this bit will allow fytdat(15- 13) to be used for the 16-bit external tx phy device, while a zero will allow fytdat(15- 13) to be used for the rx hdlc controller. this implies that it is not possible to use the internal rx framer, the rx hdlc interface, and an external 16-bit tx framer at the same time. 9 16 bit parity when this bit is set to ? 1 ? and it is in 16-bit mode, parity will be calculated across all 16 bits and checked against fyrpar(1). when in eight-bit mode with bit 9 set to ? 0 ? , the parity will be compared against fyrpar(1). this bit has no effect if the receive device is pos- phy. the default setting of this bit is ? 1 ? . 8 reserved reserved. 7 52 byte cell when set, the cell received from the phy is 52 bytes. no hec byte will be received. 6 unassigned/idle cell reception when set to ? 1 ? , this bit will enable unassigned/idle cell reception. this should be set to ? 0 ? when using the internal sonet framer. 5 disable limited hec checking on received idle/unassigned cells if bit 5 is set to ? 1 ? , the receive logic will ignore the hec byte of the header of idle and unassigned cells. idle is defined as a header of x ? 0000 0001 ? and unassigned is defined as a header of x ? 0000 000n ? where n is ? xxx0 ? . if bit 6 is set to enable unassigned/idle cell reception, all cells are passed to reasm regardless of how this bit is set. if bit 6 is set to disable unassigned/idle cell reception and this bit is set to ? 0 ? , the hec byte of cells with an apparent idle header will be completely checked before deciding whether or not to pass the cell to reasm. if a cell appears to have an unassigned header, hec bits seven, six, and zero will be checked because they are a constant regardless of the value of bits 3-1 of the header. if other hec bits are bad, reasm will detect the hec error and discard the cell. if there is a correctable hec error and the cell is indeed unassigned, an out of range error will occur in reasm. 4 ignore gfc in null/idle cell deter- mination bit 4, when set, will cause the receive logic to ignore the first four bits of the atm header in determining whether a cell being received is a null or idle cell. 3 enable xon/xoff bit 3, when set, will allow the xon/xoff bit of the header of a received cell to suspend/ continue transmission from the pnr ? s transmit logic for all ports associated with config 1. 2 drive renb inactive when not receiving when set to ? 1 ? , this bit forces the receive logic to deactivate renb when in the idle state. 1 gate rsoc with rca when set to ? 1 ? , this bit forces the receive logic to see both rsoc and rca before con- sidering rsoc valid. 0 receive extra header byte when set to ? 1 ? , this bit allows an extra header byte to be accepted at the start of a cell by the receive logic. the extra byte is discarded. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the phy interface (linkc) page 176 of 706 pnr261_10linkc.fm.06 august 14, 2000 3.8.8 linkc configuration 2 transmit & receive control register this register contains the information that controls the operation of configuration 2 on the transmit and receive. length 32 bits type clear/set address xxxx 0b60 and 0b64 power on reset value x ? 7801 6e00 ? restrictions bits 18-16 only have meaning if a pmc pm5356 suni max/utopia (bits 31-29 = ? 011 ? ) is selected. if any other device is chosen these bits will be ignored. bits 7-0 only have meaning if a pmc pm5356 suni max/utopia (bits 15-13 = ? 011 ? ) is selected. if any other device is chosen, these bits are ignored. bits two through zero are used to make adjustments to the utopia interface for compatibility with the suni-phd phy. phy transmit device even/odd parity selection phy data path size reserved number of additional header bytes modify byte alignment in 16-bit phy mode pmc pm5356 suni max/utopia: 52 byte cell disable hec generation on transmitted cells parity on all 16 bits phy receive device enable parity checking disable hec generation on transmitted cells phy data path size 16 bit parity reserved byte cell unassigned/idle cell reception disable limited hec checking ignore gfc in null/idle cell determination enable xon/xoff drive renb inactive when not receiving gate rsoc with rca receive extra header byte 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-29 phy transmit device bits 31, 30, and 29 indicate which phy the pnr ? s transmit config 2 will be interfacing. if the configuration ? s port address is all 1s, the configuration is unused and the value of these bits does not matter. 000 reserved 001 pmc pos-phy (frame based utopia) 010 reserved 011 pmc pm5356 suni max/utopia interface (sts-3c/stm-1 or sts-1) 100 reserved 101 reserved 111 reserved 28 even/odd parity selection even parity is selected when this bit is cleared. the default value is for odd parity. parity will always be generated when the pnr is transmitting data. if the phy does not check parity, do not connect the lines.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_10linkc.fm.06 august 14, 2000 the phy interface (linkc) page 177 of 706 27 phy data path size this bit, when set to ? 0 ? , selects a 16-bit wide data path to the phy device. when set to ? 1 ? , the data path width to the phy will be eight bits. this bit has no effect on the internal sonet/sdh framer except if the internal framer has been selected as the rx phy device but not as the tx phy device. in this case, a ? 1 ? on this bit allows fytdat(15-13) to be used for the 16-bit external tx phy device, while a zero allows fytdat(15-13) to be used for the rx hdlc controller. this implies that it is not possible to use the internal rx framer, the rx hdlc interface, and an external 16-bit tx framer at the same time. 26-22 reserved reserved. 21-20 number of additional header bytes the value of bits 21-20 indicate the number of additional header bytes that will be read from segbf and added to the beginning of each cell as each is transmitted to the phy. the bytes are meant to be used for additional routing information. these control bits have no effect in ibm 25 mb/s phy mode, and should be set to ? 0 ? s when in internal sonet/ sdh framer mode. if used in conjunction with 52-byte mode, the byte normally containing the cell hec will not be transmitted and the total number of cells transmitted will be the value of this field plus 52. if 16-bit phy mode is selected, by default, the byte alignment will follow that of normal 52- or 53-byte 16-bit mode, with the additional header bytes contiguously prepended. as a result, a mode with three additional header bytes cannot be obtained in 53-byte, 16-bit mode (lsb is normally padded with zeros so msb gets truncated). bit 3 of this register is therefore provided to adjust the alignment in 16-bit, 53-byte mode so all five header bytes will be transmitted with up to three additional router bytes prepended. 19 modify byte alignment in 16-bit phy mode when set to ? 1 ? , this bit changes the default byte alignment in 16-bit phy mode if this reg- ister also contains a non-zero value in bits 21-20. see the description of those bits for fur- ther details. 18 52 byte cell when set, the cell sent to the phy is 52 bytes. no hec byte will be sent. 17 disable hec generation on transmitted cells if bit 17 is set to ? 1 ? , x ? 00 ? will be placed in the hec byte of utopia cells. if bit 17 is set to ? 0 ? , the value of linkc transmitted hec control byte will be sent. if bit 18 is set to ? 1 ? , then no hec is sent and this bit will be ignored. 16 parity on all 16 bits when set, this bit enables the pnr to produce a single parity bit across the 16-bit trans- mit data bus. when set to ? 0 ? , the pnr will produce two parity bits, one across generation and the lower half of the 16 bits (parity bit zero) and one against the upper (parity bit 1). the default for this bit is ? 1 ? . 15-13 phy receive device bits 15, 14, and 13 indicate which phy the pnr ? s receive config 2 will be interfacing. if the configuration ? s port address is all ones, then the configuration is unused and the value of these bits does not matter. 000 reserved 001 pmc pos-phy (frame based utopia) 010 reserved 011 pmc pm5356 suni max/utopia interface (sts-3c/stm-1 or sts-1) 100 reserved 101 reserved 111 reserved 12 enable parity checking when set, this bit will enable checking of parity on data from the receive path. the default parity checking is disabled. the upper bit of the transmit parity is not valid when the inter- nal sonet/sdh framer has been selected as the receive phy device. the upper bit of the receive parity is also not valid when the internal sonet/sdh framer has been selected as the transmit phy device. this is only a concern if a combination of the inter- nal framer and an external phy is being used and that external phy has a 16-bit data interface. in this case, parity cannot be checked/generated on the upper byte. 11 even/odd parity selection even parity is selected when this bit is cleared. the default value is for odd parity. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the phy interface (linkc) page 178 of 706 pnr261_10linkc.fm.06 august 14, 2000 10 phy data path size this bit, when set to ? 0 ? , selects a 16-bit wide data path to the phy device. when set to ? 1 ? , the data path width to the phy will be eight bits. this bit has no effect on the internal sonet/sdh framer except if the internal framer has been selected as the rx phy device but not as the tx phy device. in this case, a ? 1 ? on this bit will allow fytdat(15- 13) to be used for the 16-bit external tx phy device, while a zero allows fytdat(15-13) to be used for the rx hdlc controller. this implies that it is not possible to use the inter- nal rx framer, the rx hdlc interface, and an external 16-bit tx framer at the same time. 9 16 bit parity when this bit is set to ? 1 ? and it is in 16-bit mode, that parity will be calculated across all 16 bits and check against fyrpar(1). when in eight-bit mode with bit 9 set to ? 0 ? , the parity will be compared against fyrpar(1). this bit has no effect if receive device is pos- phy. the default setting of this bit is ? 1 ? . 8 reserved reserved. 7 52 byte cell when set, the cell received from the phy is 52 bytes. no hec byte is received. 6 unassigned/idle cell reception when set to ? 1 ? , this bit will enable unassigned/idle cell reception. this should be set to ? 0 ? when using the internal sonet framer. 5 disable limited hec checking on received idle/unassigned cells if bit 5 is set to ? 1 ? , the receive logic will ignore the hec byte of the header of idle and unassigned cells. idle is defined as a header of x ? 0000 0001 ? and unassigned is defined as a header of x ? 0000 000n ? where n is ? xxx0 ? . if bit 6 is set to enable unassigned/idle cell reception, all cells are passed to reasm regardless of how this bit is set. if bit 6 is set to disable unassigned/idle cell reception and this bit is set to ? 0 ? , the hec byte of cells with an apparent idle header will be completely checked before deciding whether or not to pass the cell to reasm. if a cell appears to have an unassigned header, hec bits seven, six, and zero will be checked because they are a constant regardless of the value of bits 3-1 of the header. if other hec bits are bad, reasm will detect the hec error and discard the cell. if there is a correctable hec error and the cell is indeed unassigned, an out of range error will occur in reasm. 4 ignore gfc in null/idle cell deter- mination bit 4, when set, causes the receive logic to ignore the first four bits of the atm header in determining whether a cell being received is a null or idle cell. 3 enable xon/xoff bit 3, when set, allows the xon/xoff bit of the header of a received cell to suspend/con- tinue transmission from the pnr ? s transmit logic for all ports associated with config 2. 2 drive renb inactive when not receiving when set to ? 1 ? , this bit forces the receive logic to deactivate renb when in the idle state. 1 gate rsoc with rca when set to ? 1 ? , this bit forces the receive logic to see both rsoc and rca before con- sidering rsoc valid. 0 receive extra header byte when set to ? 1 ? , this bit allows an extra header byte to be accepted at the start of a cell by the receive logic. the extra byte is discarded. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_10linkc.fm.06 august 14, 2000 the phy interface (linkc) page 179 of 706 3.8.9 linkc configuration 3 transmit & receive control register this register contains the information which controls the operation of configuration 3 on the transmit and receive. length 32 bits type clear/set address xxxx 0b68 and 0b6c power on reset value x ? 7801 6e00 ? restrictions bits 18-16 only have meaning if a pmc pm5356 suni max/utopia (bits 31-29 = ? 011 ? ) is selected. if any other device is chosen these bits will be ignored. bits 7-0 only have meaning if a pmc pm5356 suni max/utopia (bits 15-13 = ? 011 ? ) is selected. if any other device is chosen, these bits are ignored. bits 2-0 are used to make adjustments to the utopia interface for compatibility with the suni- phd phy. phy transmit device even/odd parity selection phy data path size reserved number of additional header bytes modify byte alignment in 16-bit phy mode pmc pm5356 suni max/utopia: 52 byte cell disable hec generation on transmitted cells parity on all 16 bits phy receive device enable parity checking disable hec generation on transmitted cells phy data path size 16 bit parity reserved byte cell unassigned/idle cell reception disable limited hec checking ignore gfc in null/idle cell determination enable xon/xoff drive renb inactive when not receiving gate rsoc with rca receive extra header byte 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-29 phy transmit device bits 31, 30, and 29 indicate to which phy the pnr ? s transmit config 3 will be interfacing. if the configuration ? s port address is all ? 1 ? s, then the configuration is unused and the value of these bits does not matter. 000 reserved 001 pmc pos-phy (frame based utopia) 010 reserved 011 pmc pm5356 suni max/utopia interface (sts-3c/stm-1 or sts-1) 100 reserved 101 reserved 111 reserved 28 even/odd parity selection even parity is selected when this bit is cleared. the default value is for odd parity. parity will always be generated when the pnr is transmitting data. if the phy does not check parity, do not connect the lines.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the phy interface (linkc) page 180 of 706 pnr261_10linkc.fm.06 august 14, 2000 27 phy data path size this bit, when set to ? 0 ? , selects a 16-bit wide data path to the phy device. when set to ? 1 ? , the data path width to the phy will be eight bits. this bit has no effect on the internal sonet/sdh framer except if the internal framer has been selected as the rx phy device but not as the tx phy device. in this case, a ? 1 ? on this bit will allow fytdat(15- 13) to be used for the 16-bit external tx phy device, while a zero will allow fytdat(15- 13) to be used for the rx hdlc controller. this implies that it is not possible to use the internal rx framer, the rx hdlc interface, and an external 16-bit tx framer at the same time. 26-22 reserved reserved. 21-20 number of additional header bytes the value of bits 21-20 indicate the number of additional header bytes that will be read from segbf and added to the beginning of each cell as each is transmitted to the phy. the bytes are meant to be used for additional routing information. these control bits have no effect in ibm 25 mb/s phy mode, and should be set to ? 0 ? s when in internal sonet/ sdh framer mode. if used in conjunction with 52-byte mode, the byte normally containing the cell hec will not be transmitted and the total number of cells transmitted will be the value of this field plus 52. if 16-bit phy mode is selected, by default, the byte alignment will follow that of normal 52- or 53-byte 16-bit mode, with the additional header bytes con- tiguously prepended. as a result, a mode with three additional header bytes cannot be obtained in 53-byte, 16-bit mode (lsb is normally padded with zeros so msb gets trun- cated). bit 3 of this register is therefore provided to adjust the alignment in 16-bit, 53-byte mode so all five header bytes will be transmitted with up to three additional router bytes prepended. 19 modify byte alignment in 16-bit phy mode when set to ? 1 ? , this bit changes the default byte alignment in 16-bit phy mode if this reg- ister also contains a non-zero value in bits 21-20. see the description of those bits for fur- ther details. 18 52 byte cell when set, the cell sent to the phy is 52 bytes. no hec byte will be sent. 17 disable hec generation on transmitted cells if bit 17 is set to ? 1 ? , x ? 00 ? will be placed in the hec byte of utopia cells. if bit 17 is set to ? 0 ? , the value of linkc transmitted hec control byte will be sent. if bit 18 is set to ? 1 ? , no hec is sent and this bit will be ignored. 16 parity on all 16 bits when set, this bit enables the pnr to produce a single parity bit across the 16-bit transmit data bus. when set, the pnr produces two parity bits, one across generation and the lower half of the 16 bits (parity bit 0) and one against the upper (parity bit 1). the default for this bit is ? 1 ? . 15-13 phy receive device bits 15, 14, and 13 indicate to which phy the pnr ? s receive config 3 will be interfacing. if the configuration ? s port address is all ones, then the configuration is unused and the value of these bits does not matter. 000 reserved 001 pmc pos-phy (frame based utopia) 010 reserved 011 pmc pm5356 suni max/utopia interface (sts-3c/stm-1 or sts-1) 100 reserved 101 reserved 111 reserved 12 enable parity checking when set, this bit enables checking of parity on data from the receive path. the default is that parity checking is disabled. the upper bit of the transmit parity is not valid when the internal sonet/sdh framer has been selected as the receive phy device. the upper bit of the receive parity is also not valid when the internal sonet/sdh framer has been selected as the transmit phy device. this is only a concern if a combination of the inter- nal framer and an external phy is being used and that external phy has a 16-bit data interface. in this case, parity cannot be checked/generated on the upper byte. 11 even/odd parity selection even parity is selected when this bit is cleared. the default value is for odd parity. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_10linkc.fm.06 august 14, 2000 the phy interface (linkc) page 181 of 706 10 phy data path size this bit, when set to ? 0 ? , selects a 16-bit wide data path to the phy device. when set to ? 1 ? , the data path width to the phy will be eight bits. this bit has no effect on the internal sonet/sdh framer except if the internal framer has been selected as the rx phy device but not as the tx phy device. in this case, a ? 1 ? on this bit will allow fytdat(15- 13) to be used for the 16-bit external tx phy device, while a zero will allow fytdat(15- 13) to be used for the rx hdlc controller. this implies that it is not possible to use the internal rx framer, the rx hdlc interface, and an external 16-bit tx framer at the same time. 9 16 bit parity when this bit is set to ? 1 ? and it is in 16-bit mode, parity will be calculated across all 16 bits and checked against fyrpar(1). when in eight-bit mode with bit 9 set to ? 0 ? , the parity is compared against fyrpar(1). this bit has no effect if receive device is pos-phy. the default setting of this bit is ? 1 ? . 8 reserved reserved. 7 52 byte cell when set, the cell received from the phy is 52 bytes. no hec byte will be received. 6 unassigned/idle cell reception when set to ? 1 ? , this bit will enable unassigned/idle cell reception. this should be set to ? 0 ? when using the internal sonet framer. 5 disable limited hec checking on received idle/unassigned cells if bit 5 is set to ? 1 ? , the receive logic will ignore the hec byte of the header of idle and unassigned cells. idle is defined as a header of x ? 0000 0001 ? and unassigned is defined as a header of x ? 0000 000n ? where n is b ? xxx0 ? . if bit 6 is set to enable unassigned/idle cell reception, all cells are passed to reasm regardless of how this bit is set. if bit 6 is set to disable unassigned/idle cell reception and this bit is set to ? 0 ? , the hec byte of cells with an apparent idle header will be completely checked before deciding whether or not to pass the cell to reasm. if a cell appears to have an unassigned header, hec bits 7, 6, and 0 are checked because they are a con- stant regardless of the value of bits 3-1 of the header. if other hec bits are bad, reasm detects the hec error and discards the cell. if there is a correctable hec error and the cell is indeed unassigned, an out of range error occurs in reasm. 4 ignore gfc in null/idle cell deter- mination bit 4, when set, causes the receive logic to ignore the first four bits of the atm header in determining whether a cell being received is a null or idle cell. 3 enable xon/xoff bit 3, when set, allows the xon/xoff bit of the header of a received cell to suspend/con- tinue transmission from the pnr ? s transmit logic for all ports associated with config 3. 2 drive renb inactive when not receiving when set to ? 1 ? , this bit forces the receive logic to deactivate renb when in the idle state. 1 gate rsoc with rca when set to ? 1 ? , this bit forces the receive logic to see both rsoc and rca before con- sidering rsoc valid. 0 receive extra header byte when set to ? 1 ? , this bit allows an extra header byte to be accepted at the start of a cell by the receive logic. the extra byte is discarded. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the phy interface (linkc) page 182 of 706 pnr261_10linkc.fm.06 august 14, 2000 3.8.10 linkc map transmit configurations to port addresses this register contains the port address for each of the transmit configurations. if the port address is ? 11111 ? then the configuration is unused. length 32 bits type clear/set address xxxx 0b70 and 0b74 power on reset value x ? 1f1f 1f1f ? restrictions none reserved port address for configuration 3 reserved port address for configuration 2 reserved port address for configuration 1 reserved port address for configuration 0 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-29 reserved reserved. 28-24 port address for configuration 3 port address for configuration 3. 23-21 reserved reserved. 20-16 port address for configuration 2 port address for configuration 2. 15-13 reserved reserved. 12-8 port address for configuration 1 port address for configuration 1. 7-5 reserved reserved. 4-0 port address for configuration 0 port address for configuration 0.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_10linkc.fm.06 august 14, 2000 the phy interface (linkc) page 183 of 706 3.8.11 linkc map receive configurations to port addresses this register contains the port address for each of the receive configurations. if the port address is ? 11111 ? then the configuration is unused. length 32 bits type clear/set address xxxx 0b80 and 0b84 power on reset value x ? 1f1f 1f1f ? restrictions none reserved port address for configuration 3 reserved port address for configuration 2 reserved port address for configuration 1 reserved port address for configuration 0 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-29 reserved reserved. 28-24 port address for configuration 3 port address for configuration 3. 23-21 reserved reserved. 20-16 port address for configuration 2 port address for configuration 2. 15-13 reserved reserved. 12-8 port address for configuration 1 port address for configuration 1. 7-5 reserved reserved. 4-0 port address for configuration 0 port address for configuration 0.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the phy interface (linkc) page 184 of 706 pnr261_10linkc.fm.06 august 14, 2000 3.8.12 linkc transmitted hec control byte when the pnr is transmitting to a 53-byte utopia phy the hec byte (byte five of the atm header) will be sent as x ? 00 ? , if bit 17 of the transmitting configuration is a ? 1 ? . otherwise the value of the linkc transmitted hec control byte register will be sent. length 32 bits type read/write address xxxx 0b04 power on reset value x ? 0000 0000 ? restrictions none reserved hec byte value 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-8 reserved reserved. 7-0 hec byte value value of the hec byte to be sent when talking to a 53-byte utopia phy.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_10linkc.fm.06 august 14, 2000 the phy interface (linkc) page 185 of 706 3.8.13 linkc interrupt/status register this register reports the status of linkc. length 32 bits type clear/set address xxxx 0b10 and 0b14 power on reset value x ? 0000 0000 ? restrictions none c3: two sop without an eop c3: null cell c3: upper byte parity error c3: lower byte parity error c3: receive phy stalled c3: transmit phy stalled reserved c2: two sop without an eop c2: null cell c2: upper byte parity error c2: lower byte parity error c2: receive phy stalled c2: transmit phy stalled reserved c1: two sop without an eop c1: null cell c1: upper byte parity error c1: lower byte parity error c1: receive phy stalled c1: transmit phy stalled reserved c0: two sop without an eop c0: null cell c0: upper byte parity error c0: lower byte parity error c0: receive phy stalled c0: transmit phy stalled reasm fifo overrun no carrier detect from phy. 313029282726252423222120191817161514131211109876543210 bit(s) name description 31 c3: two sop without an eop indicates that config 3 has seen two sops in a 64-byte boundary without an eop. multi- ple sops outside the 64-byte boundary will be passed up, and it is up to the higher levels to deal with this case. 30 c3: null cell indicates that config 3 has received a null cell. 29 c3: upper byte parity error indicates a parity error on the upper byte of receive data from the config 3 phy. 28 c3: lower byte parity error indicates a parity error on the lower byte of receive data from the config 3 phy. 27 c3: receive phy stalled indicates config 3 ? s receive phy has stalled out. 26 c3: transmit phy stalled indicates config 3 ? s transmit phy has stalled out. 25-24 reserved reserved. 23 c2: two sop without an eop indicates that config 2 has seen two sops in a 64-byte boundary without an eop. multi- ple sops outside the 64-byte boundary will be passed up, and it is up to the higher levels to deal with this case. 22 c2: null cell indicates that config 2 has received a null cell. 21 c2: upper byte parity error indicates a parity error on the upper byte of receive data from the config 2 phy. 20 c2: lower byte parity error indicates a parity error on the lower byte of receive data from the config 2 phy. 19 c2: receive phy stalled indicates config 2 ? s receive phy has stalled out. 18 c2: transmit phy stalled indicates config 2 ? s transmit phy has stalled out. 17-16 reserved reserved. 15 c1: two sop without an eop indicates that config 1 has seen two sops in a 64-byte boundary without an eop. multi- ple sops outside the 64-byte boundary will be passed up, and it is up to the higher levels to deal with this case.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the phy interface (linkc) page 186 of 706 pnr261_10linkc.fm.06 august 14, 2000 14 c1: null cell indicates that config 1 has received a null cell. 13 c1: upper byte parity error indicates a parity error on the upper byte of receive data from the config 1 phy. 12 c1: lower byte parity error indicates a parity error on the lower byte of receive data from the config 1 phy. 11 c1: receive phy stalled indicates config 1 ? s receive phy has stalled out. 10 c1: transmit phy stalled indicates config 1 ? s transmit phy has stalled out. 9-8 reserved reserved. 7 c0: two sop without an eop indicates that config 0 has seen two sops in a 64-byte boundary without an eop. multi- ple sops outside the 64-byte boundary will be passed up, and it is up to the higher levels to deal with this case. 6 c0: null cell indicates that config 0 has received a null cell. 5 c0: upper byte parity error indicates a parity error on the upper byte of receive data from the config 0 phy. 4 c0: lower byte parity error indicates a parity error on the lower byte of receive data from the config 0 phy. 3 c0: receive phy stalled indicates config 0 ? s receive phy has stalled out. 2 c0: transmit phy stalled indicates config 0 ? s transmit phy has stalled out. 1 reasm fifo overrun reasm fifo has been overrun. 0 no carrier detect from phy no carrier detect from the phy. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_10linkc.fm.06 august 14, 2000 the phy interface (linkc) page 187 of 706 3.8.14 linkc interrupt enable register this register allows the user to enable interrupts for each of the conditions reported in the linkc interrupt/ status register . each bit corresponds to the same bit in the status register and when set to ? 1 ? generates an interrupt from linkc to intst when the condition is detected. 3.8.15 linkc prioritized interrupts used to access the prioritized encoding of linkc interrupts. reading this location will give a decimal number that is the prioritized encoding of bits 7-0 in the linkc interrupt/status register (seven being the most signif- icant bit) assuming the corresponding enable bit is on. length 32 bits type clear/set address xxxx 0b18 and 0b1c power on reset value x ? 0000 0000 ? restrictions none length 32 bits type read only address xxxx 0b2c power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-8 reserved reserved . 7-0 prioritize interrupts prioritized encoding of bits 7-0 in comet/pakit status register.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the phy interface (linkc) page 188 of 706 pnr261_10linkc.fm.06 august 14, 2000 3.8.16 linkc transmit state machine register this register indicates the state of the transmit sequencer. length 32 bits type read/write address xxxx 0b24 power on reset value x ? 0000 0000 ? restrictions none reserved unassigned transmit 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-6 reserved reserved. 5-3 cell state machine unassigned cell state machine. 2-0 transmit state machine transmit state machine.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_10linkc.fm.06 august 14, 2000 the phy interface (linkc) page 189 of 706 3.8.17 linkc receive state machine register this register indicates the state of the receiver sequencer. 3.8.18 linkc lan address register if using an ibm built adapter that utilizes external eprom, this register contains the rom level in bits 63-48 and the lan address of the adapter in bits 47-0. the lower address selects bits 63-32 and the higher address selects bits 31-0. 3.8.19 linkc canonical lan address register this register contains the same data as the linkc lan address register except each byte is bit reversed. this allows the user to obtain the lan address in canonical format. length 32 bits type read/write address xxxx 0b28 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-2 reserved reserved. 1-0 receive state machine receive state machine. length 64 bits type read/write address xxxx 0b38 and 0b3c power on reset value x ? aaaa 5555 5555 aaaa ? restrictions none length 64 bits type read only address xxxx 0b08 and 0b0c power on reset value x ? 5555 aaaa a aaa 5555 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the phy interface (linkc) page 190 of 706 pnr261_10linkc.fm.06 august 14, 2000 3.8.20 linkc passed tx data register the bits in this register are passed over phy transmit data i/o 15-8 when using an 8-bit wide phy data bus. this allows these i/os to be used to control other devices that are external to the pnr. length 32 bits type read/write address xxxx 0b40 power on reset value x ? 0000 0000 ? restrictions none reserved passed to fytdat(12-8) passed to fytdat(12-8) 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-8 reserved reserved. 7-5 passed to the pnr fytdat(15-13) passed to pnr fytdat(15-13), except in the case of the internal sonet/sdh framer. when the internal sonet/sdh framer is selected as the rx phy device, signals fyt- dat(15-13) are used as the rx hdlc interface, unless a 16-bit wide external tx phy is also selected. then they are used as data lines. 4-0 passed to the pnr fytdat(12-8) passed to pnr fytdat(12-8).
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_11vimem.fm.06 august 14, 2000 virtual memory logic (vimem) page 191 of 706 3.9 virtual memory logic (vimem) all addresses can be categorized into three distinct types, based entirely upon the location of the requested address with respect to the three base registers defined in this entity. the three types of addresses are referred to as control, real packet, and virtual packet addresses. all memory requests arriving on the control memory bus are handled as control memory accesses, and have the contents of the control memory base register subtracted from them before being passed on to the con- trol memory entity. when the processor accesses memory, the cache controller compares the requested address to the real packet memory base register and if the address is less than the base register, the request is routed to the control memory bus; otherwise it is routed to the packet memory bus. all requests arriving on the packet memory bus are compared to the virtual memory base address register. if the address of the request is less than the base register, the contents of the real packet memory base register are subtracted from the address and this address is passed on to the packet memory control entity. if the requested address is greater than or equal to the base register, a more complex, but flexible scheme is used to determine the real address to provide to the packet memory control entity. for a detailed explanation of the virtual address generation scheme refer to 3.17.4 virtual memory overview on page 396 and the accom- panying figures. 3.9.1 vimem virtual memory base address this register defines the starting address of the virtual address space used to manage incoming and outgoing frames. any time an access is made to virtual memory that falls within the defined bounds of virtual memory, the contents of this register are subtracted from the virtual address to derive the true offset into virtual mem- ory. this true offset, along with the known length of all virtual buffers, allows the index of the specific virtual buffer to be derived by the virtual memory access hardware. this index can then be used to access the real buffer map associated with this virtual buffer. length 32 bits type read/write address xxxx 0d10 power on reset value x ? 0040 0000 ? restrictions the start of virtual address space must begin on a 128-kb boundary. for this rea- son, the lowest 17 bits of this register are forced to ? 0 ? and are not implemented. writes of any value to the low 17 bits of this register are ignored, and a read always returns ? 0 ? for the low 17 bits. base address of virtual memory 128-kb boundary restriction 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-17 virtual memory base address these bits contain the upper 15 bits of the base address of virtual memory. 16-0 reserved these bits are forced to ? 0 ? because the virtual memory base address must start on a 128-kb boundary.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary virtual memory logic (vimem) page 192 of 706 pnr261_11vimem.fm.06 august 14, 2000 3.9.2 vimem on-chip memory base address this register is used by various entities to generate the base address of the on-chip memory (ocm). 3.9.3 vimem control memory base address this register defines the starting address of the control memory address space. any time an access is made to control memory, the contents of this register are subtracted from the address before an access to memory occurs. length 32 bits type read/write address xxxx 0d9c power on reset value x ? 0010 0000' restrictions the start ocm address space must begin on a 128-kb boundary. for this reason, the lowest 17 bits of this register are forced to ? 0 ? and are not implemented. writes of any value to the low 17 bits of this register are ignored, and a read always returns ? 0 ? for the low 17 bits. bit(s) name description 31-17 ocm base address these bits contain the upper 15 bits of the base address of on-chip memory. 16-0 reserved reserved. length 32 bits type read/write address xxxx 0d14 power on reset value x ? 0000 0000 ? restrictions the start of real control address space must begin on a 128-kb boundary. for this reason, the lowest 17 bits of this register are forced to ? 0 ? and are not implemented. writes of any value to the low 17 bits of this register are ignored, and a read always returns ? 0 ? for the low 17 bits. base address of real control memory 128-kb boundary restriction 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-17 control memory base address these bits contain the upper 15 bits of the base address of real control memory. 16-0 reserved these bits are forced to ? 0 ? because the real control memory base address must start on a 128-kb boundary.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_11vimem.fm.06 august 14, 2000 virtual memory logic (vimem) page 193 of 706 3.9.4 vimem packet memory base address this register defines the starting address of the packet memory address space. any time an access is made to packet memory, the contents of this register are subtracted from the address before an access to memory occurs. length 32 bits type read/write address xxxx 0d18 power on reset value x ? 0020 0000 ? restrictions the start of real packet address space must begin on a 128-kb boundary. for this reason, the lowest 17 bits of this register are forced to ? 0 ? and are not implemented. writes of any value to the low 17 bits of this register are ignored, and a read always returns ? 0 ? for the low 17 bits. this register must also be set up before any of the real buffer base registers, or the virtual buffer map registers are written. base address of real packet memory 128-kb boundary restriction 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-17 packet memory base address these bits contain the upper 15 bits of the base address of real packet memory. 16-0 reserved these bits will be forced to ? 0 ? because the real packet memory base address must start on a 128-kb boundary.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary virtual memory logic (vimem) page 194 of 706 pnr261_11vimem.fm.06 august 14, 2000 3.9.5 vimem virtual memory total bytes this register defines the total number of bytes in the address space being allocated for virtual memory. the contents of this register, divided by the configured size of virtual buffers, yields the total number of virtual buffer indices that should be used to initialize pools. the value of the indices should range from this calcu- lated value minus one, down to zero. if an address is determined to be above or equal to the virtual memory base register, it is assumed to be a virtual access. if the virtual buffer index derived from the requested address indicates that the virtual buffer space being accessed is above the limit defined by this register, an error is generated. length 32 bits type read/write address xxxx 0d0c power on reset value x ? 0001 0000 ? restrictions the maximum value that should be set in this register is (65535 * virtual buffer size). for example, if 64-byte virtual buffers are configured, the maximum value that should be loaded into this register is x ? 3f ffc0 ? . virtual memory address space not implemented 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-6 amount of virtual memory these bits contain the upper 26 bits of the total number of bytes of address space being reserved for virtual memory. 5-0 reserved these bits are not implemented and are forced to ? 0 ? because the virtual memory block can only be allocated in increments of the current virtual buffer size (minimum size is 64 bytes).
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_11vimem.fm.06 august 14, 2000 virtual memory logic (vimem) page 195 of 706 3.9.6 vimem virtual/real memory buffer size this register defines the total number of bytes to be occupied by each of the virtual or real buffers as well as the spacing from one buffer to the next. length 32 bits type read/write address xxxx 0d04 power on reset value x ? 0000 0002 ? restrictions care must be taken to set this register to a large enough value to contain the entire frame being sent as well as certain control information that the hardware stores in the buffer header. for example, if the maximum frame being sent or received is 1024 bytes long, then this register should be set to indicate 2048-byte frames to allow sufficient room for the buffer header information added by the hardware. reserved virtual/real buffer size 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-4 reserved reserved. 3-0 buffer size these bits contain the encoded four-bit value that defines the virtual/real buffer size. the encoding is as follows: 0000 64 bytes 0001 128 bytes 0010 256 bytes 0011 512 bytes 0100 1024 bytes 0101 2048 bytes 0110 4096 bytes 0111 8192 bytes 1000 16384 bytes 1001 32768 bytes 1010 65536 bytes 1011 131072 bytes 1100 -1111 reserved
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary virtual memory logic (vimem) page 196 of 706 pnr261_11vimem.fm.06 august 14, 2000 3.9.7 vimem packet memory offset this register contains the number that will be added by the vimem access logic to all accesses of real packet memory that occur. in a high performance configuration (separate control and packet store), this register should be written to all zeros to indicate that all accesses of real packet memory do not require any additional offset to be added. in a medium performance configuration (combined control and packet store), this register should be loaded with a value that indicates the logical partitioning between control and packet storage. if for instance, a single bank of 2 m was configured and this register was loaded with x ? 0010 0000 ? (1 m), then all accesses to real packet memory would be forced into the 1-meg to 2-meg range. length 32 bits type read/write address xxxx 0d3c power on reset value x ? 0000 0000 ? restrictions this register should only be loaded with a non-zero value if a medium performance configuration (combined control and packet store) exists. the value loaded must be between zero and the maximum of the total amount of memory in the single bank, and it must be on a 128-kb boundary. any time the value in this register is changed, the related base registers must be reloaded because the value loaded into them is affected by the contents of this register during the load operation. the related registers are the virtual buffer map base address register and all five real buffer base registers.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_11vimem.fm.06 august 14, 2000 virtual memory logic (vimem) page 197 of 706 3.9.8 vimem maximum buffer size this register is used by the virtual memory logic to determine if an access to a virtual buffer falls into the region of the buffer that can be accessed. if a virtual buffer read or write accesses an offset in a virtual buffer that is greater than the contents of this register, the virtual memory logic can be configured to halt and gener- ate an interrupt. the power up value of all ? 1 ? s causes this check to be disabled. this register is intended to provide the user with a means of providing additional protection to accesses of the virtual buffers. for exam- ple, if this register is loaded with x ? ff8 ? , all memory access up to and including the byte at address x ? fff ? are allowed. any access of offset x ? 1000 ? or above will cause an exception. length 32 bits type read/write address xxxx 0d34 power on reset value x ? 0001 fff8 ? restrictions all address logic based on this register only recognizes 8-byte words in memory. for this reason, the low 3 bits of this register are not implemented and are always forced to ? 0 ? . bit(s) name description 31-17 reserved reserved. 16-0 maximum buffer size maximum virtual buffer size. the maximum value written into these bits would yield a buffer size of 128kb - 8 bytes.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary virtual memory logic (vimem) page 198 of 706 pnr261_11vimem.fm.06 august 14, 2000 3.9.9 vimem control register the bits in this register control the configurable features of the virtual memory logic. length 32 bits type clear/set address xxxx 0d80 and 0d84 power on reset value x ? 0000 0000 ? restrictions none reserved ignore virtual buffer map fetch required map serialize packet memory control access priority reserved 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 reserved reserved. 15 ignore virtual buffer map validity when set, this bit forces the virtual memory logic to ignore the virtual buffer map validity indication, and force all maps to appear valid. 14 always fetch map information when set, this bit forces the virtual memory logic to fetch the required map entry from storage on every new virtual access. if a virtual memory map is updated by the software for any reason, this bit should be toggled on and off after the map is updated and before any virtual access happens to ensure that the virtual memory logic is not using stale cached map segments. there is no hardware provided to make sure that the map entry required by the virtual memory logic is not contained in one of the bcach lines. it is the responsibility of the software to ensure that all modified lines are flushed from the cache before the virtual memory logic needs them. 13 serialize packet memory accesses when set, this bit forces all accesses to packet memory to be serialized. 12 force control access priority in single bank mode when set, this bit causes control accesses to always have priority over packet accesses in a single memory bank configuration. when reset, priority will toggle every time an access is initiated. 11-0 reserved reserved.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_11vimem.fm.06 august 14, 2000 virtual memory logic (vimem) page 199 of 706 3.9.10 vimem status register this register contains information regarding the current status of the virtual memory logic mainly with respect to detected error access conditions. length 32 bits type clear/set address xxxx 0d60 and 0d64 power on reset value x ? 0000 0000 ? restrictions none reserved memory base address register setup error page fault error during read control memory acddress invalid packed memory address invalid invalid map non-recoverable page fault error during write recoverable page fault error during write read caused a page fault access above current virtual buffer access off current virtual buffer map invalid buffer size in base register incorrect memory boundary in base register ? 0 ? detected in base register reserved generated buffer index too large invalid configured buffer size invalid value in map base register 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-17 reserved reserved. 16 memory base address register setup error when set, this bit indicates that the required conditions for the control, packet, and virtual base address registers has not been satisfied. the required conditions are: control base address < packet base address < virtual base address. 15 page fault during read when set, this bit indicates that the virtual memory logic has detected a page fault error when attempting to read memory. this indicates that no real buffer was available to map into the virtual address space when required. all virtual reads that fail during a page fault regardless of the requesting entity will cause this bit to be set. if the corresponding bit is reset in the lock register, the read operation will complete, but with invalid data. 14 control memory address invalid when set, this bit indicates that a control memory access was detected that was above the value contained in the packet memory offset register for single bank configurations, or in a multiple bank configuration in which the high address bits 31-27 were not ? 0 ? . 13 packet memory address invalid when set, this bit indicates that a packet memory access of address zero was detected in single bank mode, or that a packet address was detected that contained an address out of range (high five bits non-zero).
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary virtual memory logic (vimem) page 200 of 706 pnr261_11vimem.fm.06 august 14, 2000 12 invalid map when set, this bit indicates that the virtual memory logic has detected a virtual memory operation that attempted to access a map that was not marked as valid. a virtual buffer map is marked valid by the pools entity when the buffer is originally acquired, and is marked as invalid when the buffer is freed back to pools. receiving this error indication typically means that the software is trying to use a buffer that has not been acquired through the normal means, or is trying to use a buffer that has already been freed, or that memory has been corrupted. the valid indication that is checked by the hardware is the value x ? ?656 ? in the first 16 bits of the eight-byte map entry being accessed. to determine the failing address, the memory control entity can be locked on this type of failure, and the information saved by the memory controller, along with the base registers in this entity can be used to determine which map was being accessed at the time of failure. 11 non-recoverable page fault error during write when set, this bit indicates that the virtual memory logic has detected a non-recoverable page fault error when attempting to write memory. this indicates that no real buffer was available to map into the virtual address space when required. all virtual writes that fail during a page fault, with the exception of bcach and reasm operations, cause this bit to be set. 10 recoverable page fault error during write when set, this bit indicates that the virtual memory logic has detected a recoverable page fault error when attempting to write memory. this indicates that no real buffer was avail- able to map into the virtual address space when required. operations from bcach and reasm cause this bit to be set instead of the non-recoverable bit because the software can recover from these failures. if a bcach write to virtual memory fails in this manner, the packet header of the frame being updated is updated to indicate the failure. software can check the field in the packet header to ensure that the dma operation completed suc- cessfully. if such a packet is enqueued to csked, the packet header is checked and will prevent the frame from being passed on to the segmentation logic. when csked encounters a frame that has had this type of failure, there are several possible ways in which it can be configured (via the csked control register) to handle the situation. it can be configured to ignore the error and attempt to transmit the frame anyway (probably not a good way), or the buffer can be freed back to pools, or an event can be generated to allow the software to deal with the situation. if a reasm write to virtual memory fails in this manner, the packet currently being received is dropped; it is up to the software to per- form any recovery operations that are required. 9 read caused a page fault when set, this bit indicates that the virtual memory logic has detected a read operation that caused a page fault. this is an invalid condition because the data required for a read operation should have been previously initialized by a write operation, so no page fault should ever occur on a read operation. if the corresponding bit in the lock register is reset, a page is mapped into the current virtual buffer segment and the data that previously was written in that page is returned. this bit can come on in several situations that are not really errors. in these cases, the associated interrupt and lock bits can be reset so that this error does not cause the adapter to halt normal operation. several of these conditions are: when predictive fill is enabled, a read from the end of a buffer may cause a predictive read that crosses a virtual segment boundary and causes this bit to be set. if a small buffer (fits entirely in the cache) is copied from one pnr buffer to another pnr buffer, a subsequent read of the last bytes written causes this bit to be set if the cache hasn ? t been flushed between the write and the read, and the last write cycle did not write all four bytes, and the address that is being written/read is within the first x ? 20 ? bytes of a virtual seg- ment. 8 access above current virtual buffer when set, this bit indicates that the virtual memory logic has detected an access of a vir- tual buffer that falls above the limit set by the buffer maximum size register. 7 access off current virtual buffer map when set, this bit indicates that the virtual memory logic has detected an access that does not fall in one of the currently mapped buffer segments based upon the currently- configured virtual buffer map size. 6 invalid buffer size in base regis- ter when set, this bit indicates that a virtual access has been detected that used a base reg- ister that had an invalid associated buffer size configured in the low order bits. 5 incorrect memory boundary in base register when set, this bit indicates that a virtual access has been detected that used a base reg- ister that was not on the correct memory boundary. for example, if a base register is set up to use 2 kb buffers, the base register must be set up on a 2 kb boundary. 4 ? 0 ? detected in base register when set, this bit indicates that a virtual access has been detected that used a base reg- ister that contained a value of ? 0 ? . bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_11vimem.fm.06 august 14, 2000 virtual memory logic (vimem) page 201 of 706 3.9.11 vimem interrupt enable register this register allows the user to enable interrupts for each of the conditions reported in the vimem status register . each bit corresponds to the same bit in the status register and when set to ? 1 ? generates an interrupt from vimem to intst if the condition is detected. 3 reserved reserved. 2 generated buffer index too large when set, this bit indicates that the virtual memory logic has detected a memory access that resulted in the generation of a buffer index that was greater than the currently config- ured maximum derived from the vimem virtual memory total bytes register. 1 invalid configured buffer size when set, this bit indicates that the currently configured size of buffers is invalid. 0 invalid value in map base regis- ter when set, this bit indicates that the map base register contains an invalid value. two pos- sible causes are that bits 5-2 are not ? 0 ? or bits 31-6 are ? 0 ? . length 32 bits type clear/set address xxxx 0d68 and 0d6c power on reset value x ? 0001 ffff ? restrictions none bit(s) name description 31-17 reserved reserved. 16-0 interrupt enables when one of these bits is on and the corresponding bit in the vimem status register is on, an interrupt is generated. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary virtual memory logic (vimem) page 202 of 706 pnr261_11vimem.fm.06 august 14, 2000 3.9.12 vimem memory lock enable register this register allows the user to selectively allow each of the conditions reported in the vimem status register to force a memory lock condition in the memory controller. each bit corresponds to the same bit in the status register and when set to ? 1 ? causes a memory lock if the condition is detected. length 32 bits type clear/set address xxxx 0d70 and 0d74 power on reset value x ? 0001 ffff ? restrictions none bit(s) name description 31-17 reserved reserved. 16-0 lock enables when one of these bits is on and the corresponding bit in the ? vimem status register ? on page 199 is on, the memory subsystem will lock.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_11vimem.fm.06 august 14, 2000 virtual memory logic (vimem) page 203 of 706 3.9.13 vimem state machine current state this register provides feedback to the user regarding the current status of the state machines in vimem. one use of this register is to make sure that the required initialization time has expired after loading the segment size register. this is accomplished by reading this register repeatedly until the initialization state machine is in the idle state. length 32 bits type read only address xxxx 0d78 power on reset value x ? 001d 0000 ? restrictions none reserved current state of the initialization state machine reserved current state of the vimem main1 state machine reserved current state of the vimem main0 state machine 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-21 reserved reserved. 20-16 current state of the initialization state machine these bits contain the current state of the initialization state machine. a value of ? 1---- ? indicates that the state machine is in the idle state. 15-13 reserved reserved. 12-8 current state of the vimem main 1 state machine these bits contain the current state of the vimem main1 state machine. a value of ? 00000 ? indicates that the state machine is in the idle state. 7-5 reserved reserved. 4-0 current state of the vimem main 0 state machine these bits contain the current state of the vimem main0 state machine. a value of ? 00000 ? indicates that the state machine is in the idle state.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary virtual memory logic (vimem) page 204 of 706 pnr261_11vimem.fm.06 august 14, 2000 3.9.14 vimem last processor read real address address this register provides information to the user about the last read access of virtual packet memory by the pro- cessor. if a virtual address was accessed, this register contains the real address generated by the virtual memory logic that can be used to access the same location. this register is intended mainly as an aid in debugging to make virtual address translation easier. to perform the translation, the processor must read from the desired virtual address: after the read is complete, this register contains the real address that was accessed. the address contained in this register is an offset from the beginning of physical packet memory. length 32 bits type read only address xxxx 0d7c power on reset value x ? 0000 0000 ? restrictions none zero bits real address accessed 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-27 reserved reserved. these bits will always read as ? 0 ? . 26-0 read address accessed after any read operation from the processor to packet memory, these bits will contain the real address that was accessed.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_11vimem.fm.06 august 14, 2000 virtual memory logic (vimem) page 205 of 706 3.9.15 vimem virtual buffer segment size register this register, along with the lower four bits of the real buffer base registers, defines the size of the second through 16th real buffers that are concatenated to make up a virtual buffer. two bits of this register are asso- ciated with each real buffer segment and indicate one out of four possible associations. the associative pos- sibilities are shown in the bit table below. every two bits defines the connection between a particular buffer segment and the real buffer base registers. length 32 bits type read/write address xxxx 0d00 power on reset value x ? 0000 0000 ? restrictions care must be used when setting up this register to ensure that only values that cor- respond to real buffer sizes that pools has also been set up to provide are loaded. a write to this register causes the virtual memory logic to calculate the dif- ferent real buffer boundaries within a virtual buffer. this calculation requires infor- mation from the real buffer base registers to determine the size of the different segments making up the virtual buffer. for this reason, it is required that this regis- ter be written after the real buffer base registers have been initialized. after writing this register, the software must wait at least 2 ms before accessing virtual memory.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary virtual memory logic (vimem) page 206 of 706 pnr261_11vimem.fm.06 august 14, 2000 16th buffer segment 15th buffer segment 14th buffer segment 13th buffer segment 12th buffer segment 11th buffer segment 10th buffer segment 9th buffer segment 8th buffer segment 7th buffer segment 6th buffer segment 5th buffer segment 4th buffer segment 3th buffer segment 2th buffer segment reserved 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) description bit association 31-30 defines the 16th buffer segment ? s connection. 00 associates this real buffer segment with real buffer base register 0 01 associates this real buffer segment with real buffer base register 1 10 associates this real buffer segment with real buffer base register 2 11 associates this real buffer segment with real buffer base register 3 29-28 defines the 15th buffer segment ? s connection. 27-26 defines the 14th buffer segment ? s connection. 25-24 defines the 13th buffer segment ? s connection. 23-22 defines the 12th buffer segment ? s connection. 21-20 defines the 11th buffer segment ? s connection. 19-18 defines the 10th buffer segment ? s connection. 17-16 defines the 9th buffer segment ? s connection. 15-14 defines the 8th buffer segment ? s connection. 13-12 defines the 7th buffer segment ? s connection. 11-10 defines the 6th buffer segment ? s connection. 9-8 defines the 5th buffer segment ? s connection. 7-6 defines the 4th buffer segment ? s connection. 5-4 defines the 3rd buffer segment ? s connection. 3-2 defines the 2nd buffer segment ? s connection. 1-0 reserved. the first real buffer is implicitly associated with the vir- tual buffer, these bits will always be read as ? 0 ? .
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_11vimem.fm.06 august 14, 2000 virtual memory logic (vimem) page 207 of 706 3.9.16 vimem buffer map base address register this register contains the address in packet memory at which the buffer map table starts. the buffer map table consists of a variable number of eight-byte entries for each buffer that is allocated in the system. the first 16 bits of each eight-byte entry contains the pool id and various status flags associated with this buffer, thus this base register is used in both real and virtual memory modes. in virtual memory mode, each of the three subsequent 16 bits contains an index which is associated with a buffer size base register using the buffer segment limit register. the index and buffer size base register are used to determine a real buffer address. if the map size is set to eight bytes, only one eight-byte entry is used for each buffer. if the map size is set to 16 bytes, two eight-byte entries are used for each buffer. if the map size is set to 32 bytes, four eight-byte entries are used for each buffer. if the map size is set to 64 bytes, five eight-byte entries are used for each buffer, and the remaining 24 bytes of the map are unused by the hard- ware. length 32 bits type read/write address xxxx 0d08 power on reset value x ? 0020 0000 ? (this value is actually the power up contents of the packet memory real base register added to the power up contents of this register x ? 0000 0000 ? ) due to the automatic address adjustment explained below.) restrictions the base address for the buffer map must begin on a 64-byte boundary. when a base register is written, the hardware performs an automatic adjustment to the address using the contents of the packet memory real base register, and the packet memory offset register. this results in the actual value being stored, not being the value that is written by the program. this is done to make the virtual accesses that use the base register execute more quickly. the reverse adjustment is made when the read operation is performed, so that it appears to the program no different than a normal operation. care must be taken, however, to ensure that both the packet memory real base register and the packet memory offset register are set-up before any of the base registers are writ- ten. if the packet memory base register or the packet memory offset register are changed, packet memory should not be accessed until all the base registers have been written again.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary virtual memory logic (vimem) page 208 of 706 pnr261_11vimem.fm.06 august 14, 2000 starting address reserved map entry size 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-6 starting address defines the starting address of the buffer map. 5-2 reserved reserved, should be written with ? 0 ? . 1-0 map entry size defines the size of each map entry: 00 8 bytes 01 16 bytes 10 32 bytes 11 64 bytes
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_11vimem.fm.06 august 14, 2000 virtual memory logic (vimem) page 209 of 706 3.9.17 vimem real buffer base address registers these registers contain the address in packet memory at which a block of memory begins that is used to pro- vide a given size buffer. in general, the block allocated must be large enough to contain as many buffers as will be freed to pools on initialization. however, for real buffer base 4, the size of the block reserved must be large enough so that one buffer is available for each of the virtual buffers freed to pools. these buffers must not be freed to pools because they are implicitly used as the first real buffer segment for each of the virtual buffers. if a given base register (and associated buffer size) is not used, the low four bits of the register should be set to x ? f ? to ensure that accesses of this buffer size are detected and flagged as an error. when using real memory mode (controlled in pools), all of these base registers are unused with the exception of base register zero, which contains the base address for all real memory buffers. in real mode, the low four bits of base register zero are of no significance. the size of the real buffers is controlled through the buffer size register. length 32 bits type read/write address buffer size 0 xxxx 0d20 buffer size 1 xxxx 0d24 buffer size 2 xxxx 0d28 buffer size 3 xxxx 0d2c buffer size 4 (implicit) xxxx 0d30 power on reset value x ? 0020 000f ? restrictions the base address for any given buffer size must begin on a boundary that is equal to the buffer size. for example, the base address for 128-byte buffers must be on a 128-byte boundary, and the base address for 4096-byte buffers must be on a 4096- byte boundary. when a base register is written, the hardware performs an automatic adjustment to the address using the contents of the packet memory real base register and the packet memory offset register. this results in the actual value being stored, not being the value that is written by the program. this is done to make the memory accesses that use the base register execute quicker. the reverse adjustment is made when the read operation is performed, so that it appears to the program no different than a normal operation. care must be taken, however, to ensure that the packet memory real base register and the packet memory offset register are set-up before any of the base registers are written. if the packet memory base reg- ister or the packet memory offset register is changed, packet memory should not be accessed until all the base registers have been written again. the power on reset value of these registers is actually the power on reset value of the packet memory real base register added to the contents of the packet memory offset register added to the original contents of these registers (x ? 0000 000f ? ).
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary virtual memory logic (vimem) page 210 of 706 pnr261_11vimem.fm.06 august 14, 2000 starting address reserved real buffersize 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-6 starting address defines the starting address in packet memory of the memory block used to provide real buffers of defined size. 5-4 reserved reserved (user should write zeros and ignore read value). 3-0 real buffer size defines the size of the real buffers in this block of memory with the following encoding: 0000 64 bytes 0001 128 bytes 0010 256 bytes 0011 512 bytes 0100 1024 bytes 0101 2048 bytes 0110 4096 bytes 0111 8192 bytes 1000 16384 bytes 1001 32768 bytes 1010 65536 bytes 1011 131072 bytes 1100 -1111reserved
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_12arbit.fm.06 august 14, 2000 memory arbitration logic (arbit) page 211 of 706 3.10 memory arbitration logic (arbit) this section contains descriptions of the registers used by the arbiter logic. 3.10.1 arbit control priority resolution register high the bits in this register define the priority of requesting entities to control memory. length 32 bits type read/write address xxxx 0e00 power on reset value x ? 0edc ba98 ? restrictions none reserved priority level e priority level d priority level c priority level b priority level a priority level 9 priority level 8 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-28 reserved reserved. 27-24 priority level e the value loaded into these bits defines which entity will be requesting at priority level e (lowest priority). value encoding is: f: reserved 7: segbf e: chksm 6: txlcd d: pcore lo 5: rxlcd c: bcach lo 4: gpdma b: pools lo 3: dmaqs a: csked 2: pcore hi 9: rxxlt 1: bcach hi 8: rxque 0: pools hi 23-20 priority level d the value loaded into these bits defines which entity will request at priority level d. value encoding is as listed in the description of bits 27-24. 19-16 priority level c the value loaded into these bits defines which entity will request at priority level c. value encoding is as listed in the description of bits 27-24. 15-12 priority level b the value loaded into these bits defines which entity will request at priority level b. value encoding is as listed in the description of bits 27-24. 11-8 priority level a the value loaded into these bits defines which entity will request at priority level a. value encoding is as listed in the description of bits 27-24. 7-4 priority level 9 the value loaded into these bits defines which entity will request at priority level 9. value encoding is as listed in the description of bits 27-24. 3-0 priority level 8 the value loaded into these bits defines which entity will request at priority level 8. value encoding is as listed in the description of bits 27-24.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary memory arbitration logic (arbit) page 212 of 706 pnr261_12arbit.fm.06 august 14, 2000 3.10.2 arbit control priority resolution register low the bits in this register define the priority of requesting entities to control memory. length 32 bits type read/write address xxxx 0e04 power on reset value x ? 7654 3210 ? restrictions none priority level 7 priority level 6 priority level 5 priority level 4 priority level 3 priority level 2 priority level 1 priority level 0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-28 priority level 7 the value loaded into these bits defines which entity will request at priority level 7. value encoding is: f: reserved 7: segbf e: chksm 6: txlcd d: pcore lo 5: rxlcd c: bcach lo 4: gpdma b: pools lo 3: dmaqs a: csked 2: pcore hi 9: rxxlt 1: bcach hi 8: rxque 0: pools hi 27-24 priority level 6 the value loaded into these bits defines which entity will request at priority level 6. for value encoding, see the description of bits 31-28. 23-20 priority level 5 the value loaded into these bits defines which entity will request at priority level 5. for value encoding, see the description of bits 31-28. 19-16 priority level 4 the value loaded into these bits defines which entity will request at priority level 4. for value encoding, see the description of bits 31-28. 15-12 priority level 3 the value loaded into these bits defines which entity will request at priority level 3. for value encoding, see the description of bits 31-28. 11-8 priority level 2 the value loaded into these bits defines which entity will request at priority level 2. for value encoding, see the description of bits 31-28. 7-4 priority level 1 the value loaded into these bits defines which entity will request at priority level 1. for value encoding, see the description of bits 31-28. 3-0 priority level 0 the value loaded into these bits defines which entity will request at priority level 0 (high- est priority). for value encoding, see the description of bits 31-28.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_12arbit.fm.06 august 14, 2000 memory arbitration logic (arbit) page 213 of 706 3.10.3 arbit control error mask register the bits in this register control whether arbit-detected error conditions on an entity ? s interface will lock the control memory subsystem. bits in this register also control the locking of the control memory subsystem based on control memory, packet memory, virtual memory, and bcach-detected error conditions. reset- ting the appropriate bit will force errors from that source to be ignored. length 32 bits type clear/set address xxxx 0e08 and 0e0c power on reset value x ? 000f ffff ? restrictions none bit(s) name description 31-19 reserved reserved. 18 arbit packet memory error when this bit is set, arbit detected packet memory errors will lock control memory. 17 pcore error when this bit is set, an error from pcore will lock control memory. 16 pools error when this bit is set, an error from pools will lock control memory. 15 bcach error when this bit is set, an error from bcach will lock control memory. 14 vimem error when this bit is set, an error from vimem will lock control memory. 13 pakit error when this bit is set, an error from pakit will lock control memory. 12 comet error when this bit is set, an error from comet will lock control memory. 11 chksm when set, an error on the control memory interface between chksm and arbit will lock control memory. 10 pcore when set, an error on the control memory interface between pcore and arbit will lock control memory. 9 bcach when set, an error on the control memory interface between bcach and arbit will lock control memory. 8 pools when set, an error on the control memory interface between pools and arbit will lock control memory. 7 csked cwhen set, an error on the control memory interface between csked and arbit will lock control memory. 6rxxlt when set, an error on the control memory interface between rxxlt and arbit will lock control memory. 5rxque when set, an error on the control memory interface between rxque and arbit will lock control memory. rxque 4 segbf when set, an error on the control memory interface between segbf and arbit will lock control memory. 3txlcd when set, an error on the control memory interface between txlcd and arbit will lock control memory. 2rxlcd when set, an error on the control memory interface between rxlcd and arbit will lock control memory.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary memory arbitration logic (arbit) page 214 of 706 pnr261_12arbit.fm.06 august 14, 2000 3.10.4 arbit control error source register the bits in this register provide feedback to indicate the source of errors that have been detected by the memory subsystem. 1gpdma when set, an error on the control memory interface between gpdma and arbit will lock control memory. 0dmaqs when set, an error on the control memory interface between dmaqs and arbit will lock control memory. length 32 bits type clear/set address xxxx 0e18 and 0e1c power on reset value x ? 0000 0000 ? restrictions bits 17 through 12 are driven from external entities and cannot be set or reset in this register. they must be set or reset in the entity of origin. bit(s) name description 31-19 reserved reserved. 18 arbit packet memory error arbit detected a packet memory error. 17 pcore error pcore indicated an error condition. 16 pools error pools indicated an error condition. 15 bcach error bcach indicated an error condition. 14 vimem error vimemindicated an error condition. 13 pakit error pakit indicated an error condition. 12 comet error comet indicated an error condition. 11 chksm an error was detected on the control memory interface from chksm. 10 pcore an error was detected on the control memory interface from pcore. 9 bcach an error was detected on the control memory interface from bcach. 8 pools an error was detected on the control memory interface from pools. 7 csked an error was detected on the control memory interface from csked. 6 rxxlt an error was detected on the control memory interface from rxxlt. 5 rxque an error was detected on the control memory interface from rxque. 4 segbf an error was detected on the control memory interface from segbf. 3 txlcd an error was detected on the control memory interface from txlcd. 2 rxlcd an error was detected on the control memory interface from rxlcd. 1 gpdma an error was detected on the control memory interface from gpdma. 0 dmaqs an error was detected on the control memory interface from dmaqs. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_12arbit.fm.06 august 14, 2000 memory arbitration logic (arbit) page 215 of 706 3.10.5 arbit control winner register the bits in this register indicate which entity currently owns control memory. length 32 bits type read only address xxxx 0e2c power on reset value x ? 0000 000f ? restrictions none correct memory winner reserved control winner b control winner a 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31 correct memory winner for performance reasons, two sets of operational latches (bank a and bank b) exist in the arbiter for control memory. when set, this bit indicates that the b latches are active, and when reset indicates that the a latches are active. when this bit is set and memory is locked, bits 7-4 of this register contain a value that indicates the entity that most recently was accessing memory. if this bit is reset and memory is locked, bits 3-0 of this register contain a value that indicates the entity that was accessing memory most recently. 30-8 reserved reserved. will read ? 0 ? . 7-4 control winner b control winner b. f: reserved 7: segbf e: chksm 6: txlcd d: pcore lo 5: rxlcd c: bcach lo 4: gpdma b: pools lo 3: dmaqs a: csked 2: pcore hi 9: rxxlt 1: bcach hi 8: rxque 0: pools hi 3-0 control winner a control winner a. f: reserved 7: segbf e: chksm 6: txlcd d: pcore lo 5: rxlcd c: bcach lo 4: gpdma b: pools lo 3: dmaqs a: csked 2: pcore hi 9: rxxlt 1: bcach hi 8: rxque 0: pools hi
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary memory arbitration logic (arbit) page 216 of 706 pnr261_12arbit.fm.06 august 14, 2000 3.10.6 arbit control address register a if latch bank a is active, the bits in this register indicate the last address that was used to access control memory. 3.10.7 arbit control address register b if latch bank b is active, the bits in this register indicate the last address that was used to access control memory. length 32 bits type read only address xxxx 0e10 power on reset value x ? 0000 0000 ? restrictions none last address provided by arbiter 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 last address bank a these bits contain the last address provided by the arbiter to the control memory control- ler. length 32 bits type read only address xxxx 0e20 power on reset value x ? 0000 0000 ? restrictions none last address provided by arbiter 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 last address bank b these bits contain the last address provided by the arbiter to the control memory control- ler.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_12arbit.fm.06 august 14, 2000 memory arbitration logic (arbit) page 217 of 706 3.10.8 arbit control length register the bits in this register indicate the last length used to access control memory. length 32 bits type read only address xxxx 0e14 power on reset value x ? 0000 0000 ? restrictions none reserved latch bank b length latch bank a length 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 reserved reserved. 15-8 length bank b these bits contain the length used to access control memory through latch bank b. 7-0 length bank a these bits contain the length used to access control memory through latch bank a.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary memory arbitration logic (arbit) page 218 of 706 pnr261_12arbit.fm.06 august 14, 2000 3.10.9 arbit control lock entity enable register the value programmed in this register controls which entity, if any, has access to control memory immedi- ately after memory has locked. this register powers up to a value that will not allow any entity to access memory after a lock condition until the lock condition has been properly cleared. length 32 bits type read/write address xxxx 0e28 power on reset value x ? 0000 000f ? restrictions none reserved entity with post memory lock access 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-4 reserved reserved. 3-0 entity with post memory lock access the value in these bits map to the following entities: f: reserved 7: segbf e: chksm 6: txlcd d: pcore lo 5: rxlcd c: bcach lo 4: gpdma b: pools lo 3: dmaqs a: csked 2: pcore hi 9: rxxlt 1: bcach hi 8: rxque 0: pools hi
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_12arbit.fm.06 august 14, 2000 memory arbitration logic (arbit) page 219 of 706 3.10.10 arbit control config register the bits in this register control the operation of the control memory arbiter. length 32 bits type clear/set address xxxx 0e38 and 0e3c power on reset value x ? 0000 0000 ? restrictions none reserved arbit entity state control serialize control memory accesses 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-2 reserved reserved. 1 arbit entity state control this bit controls the arbit entity state debug mux. when set, the incoming entity requests and outgoing acknowledges are routed to the entity state pins. when reset, the internal state information is routed to the entity state pins. 0 serialize control memory accesses when set, this bit forces all operations to control memory to be serialized. an operation from one entity must be entirely complete before an operation from another entity will be started. when reset, if the memory operation in process can be overlapped, a second operation will be started before the first operation is complete.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary memory arbitration logic (arbit) page 220 of 706 pnr261_12arbit.fm.06 august 14, 2000 3.10.11 arbit packet priority resolution register high the bits in this register define the priority of requesting entities to packet memory. length 32 bits type read/write address xxxx 0e80 power on reset value x ? 0edc ba98 ? restrictions none bit(s) name description 31-28 reserved reserved. 27-24 priority level e the value loads into these bits defines which entity will request at priority level e (lowest priority). value encoding is: f: reserved 7: segbf e: chksm 6: reserved d: pcore lo 5: rxaal c: bcach lo 4: gpdma b: pools lo 3: dmaqs a: csked 2: pcore hi 9: reserved 1: bcach hi 8: rxque 0: pools hi 23-20 priority level d the value loaded into these bits defines which entity will request at priority level d. for value encoding, see the description of bits 27-24. 19-16 priority level c the value loaded into these bits defines which entity will request at priority level c. for value encoding, see the description of bits 27-24. 15-12 priority level b the value loaded into these bits defines which entity will request at priority level b. for value encoding, see the description of bits 27-24. 11-8 priority level a the value loaded into these bits defines which entity will request at priority level a. for value encoding, see the description of bits 27-24. 7-4 priority level 9 the value loaded into these bits defines which entity will request at priority level 9. for value encoding, see the description of bits 27-24. 3-0 priority level 8 the value loaded into these bits defines which entity will request at priority level 8. for value encoding, see the description of bits 27-24.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_12arbit.fm.06 august 14, 2000 memory arbitration logic (arbit) page 221 of 706 3.10.12 arbit packet priority resolution register low the bits in this register define the priority of requesting entities to packet memory. length 32 bits type read/write address xxxx 0e84 power on reset value x ? 7654 3210 ? restrictions none priority level 7 priority level 6 priority level 5 priority level 4 priority level 3 priority level 2 priority level 1 priority level 0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-28 priority level 7 the value loaded into these bits define which entity will be requesting at priority level 7. value encoding is: f: reserved 7: segbf e: chksm 6: reserved d: pcore lo 5: rxaal c: bcach lo 4: gpdma b: pools lo 3: dmaqs a: csked 2: pcore hi 9: reserved 1: bcach hi 8: rxque 0: pools hi 27-24 priority level 6 the value loaded into these bits defines which entity will request at priority level 6. for value encoding, see the description of bits 31-28 above. 23-20 priority level 5 the value loaded into these bits defines which entity will request at priority level 5. for value encoding, see the description of bits 31-28 above. 19-16 priority level 4 the value loaded into these bits defines which entity will request at priority level 4. for value encoding, see the description of bits 31-28 above. 15-12 priority level 3 the value loaded into these bits defines which entity will request at priority level 3. for value encoding, see the description of bits 31-28 above. 11-8 priority level 2 the value loaded into these bits defines which entity will request at priority level 2. for value encoding, see the description of bits 31-28 above. 7-4 priority level 1 the value loaded into these bits defines which entity will request at priority level 1. for value encoding, see the description of bits 31-28 above. 3-0 priority level 0 the value loaded into these bits defines which entity will request at priority level 0 (high- est priority). for value encoding, see the description of bits 31-28 above.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary memory arbitration logic (arbit) page 222 of 706 pnr261_12arbit.fm.06 august 14, 2000 3.10.13 arbit packet entity error mask register the bits in this register control whether arbit-detected error conditions on an entity ? s interface will lock the packet memory subsystem. bits in this register also control the locking of the packet memory subsystem based on control memory, packet memory, virtual memory, and bcach-detected error conditions. reset- ting the appropriate bit will force errors from that source to be ignored. length 32 bits type clear/set address xxxx 0e88 and 0e8c power on reset value x ? 000f ffff ? restrictions none bit(s) name description 31-20 reserved reserved. 19 rearbitration failure when this bit is set, a rearbitrationf failure will lock packet memory. 18 arbit control memory error when this bit is set, arbit detected control memory errors will lock packet memory. 17 pcore error when this bit is set, an error from pcore will lock packet memory. 16 pools error when this bit is set, an error from pools will lock packet memory. 15 bcach error when this bit is set, an error from bcach will lock packet memory. 14 vimem error when this bit is set, an error from vimem will lock packet memory. 13 pakit error when this bit is set, an error from pakit will lock packet memory. 12 comet error when this bit is set, an error from comet will lock packet memory. 11 chksm when set, an error on the packet memory interface between chksm and arbit will lock packet memory. 10 pcore when set, an error on packet memory interface between pcore and arbit will lock packet memory. 9 bcach when set, an error on the packet memory interface between bcach and arbit will lock packet memory. 8 pools when set, an error on the packet memory interface between pools and arbit will lock packet memory. 7 csked when set, an error on the packet memory interface between csked and arbit will lock packet memory. 6 reserved reserved. 5rxque when set, an error on the packet memory interface between rxque and arbit will lock packet memory. 4 segbf when set, an error on the packet memory interface between segbf and arbit will lock packet memory. 3 reserved reserved. 2 rxaal when set, an error on the packet memory interface between rxaal and arbit will lock packet memory.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_12arbit.fm.06 august 14, 2000 memory arbitration logic (arbit) page 223 of 706 1gpdma when set, an error on the packet memory interface between gpdma and arbit will lock packet memory. 0dmaqs when set, an error on the packet memory interface between dmaqs and arbit will lock packet memory. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary memory arbitration logic (arbit) page 224 of 706 pnr261_12arbit.fm.06 august 14, 2000 3.10.14 arbit packet error source register the bits in this register provide feedback to indicate the source of errors that have been detected by the memory subsystem. length 32 bits type clear/set address xxxx 0e98 and 0e9c power on reset value x ? 0000 0000 ? restrictions bits 17, 16, and 11 through 14 are driven from external entities and can not be set/ reset in this register. they must be set/reset in the entity of origin. reserved rearbitraction. error control error pcore error pools error bcach error vimem error pakit error comet error chksm pcore bcach pools csked reserved rxque segbf reserved rxaal gpdma dmaqs 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-20 reserved reserved. 19 rearbitration failure. rearbitration detected while already handling rearbitration condition. this condition would indicate that the priorities programmed in the priority resolution logic were incorrectly pro- grammed and pools high was not given the highest priority. 18 arbit control memory error arbit detected control errors. 17 pcore error pcore indicated an error condition. 16 pools error pools indicated an error condition. 15 bcach error bcach indicated an error condition. 14 vimem error vimem indicated an error condition. 13 pakit error pakit indicated an error condition. 12 comet error comet indicated an error condition. 11 chksm an error was detected on the packet memory interface from chksm. 10 pcore an error was detected on the packet memory interface from pcore. 9 bcach an error was detected on the packet memory interface from bcach. 8 pools an error was detected on the packet memory interface from pools. 7 csked an error was detected on the packet memory interface from csked. 6 reserved reserved. 5 rxque an error was detected on the packet memory interface from rxque. 4 segbf an error was detected on the packet memory interface from segbf. 3 reserved reserved.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_12arbit.fm.06 august 14, 2000 memory arbitration logic (arbit) page 225 of 706 3.10.15 arbit packet winner register the bits in this register indicate which entity currently owns packet memory. 2 rxaal an error was detected on the packet memory interface from rxaal. 1 gpdma an error was detected on the packet memory interface from gpdma. 0 dmaqs an error was detected on the packet memory interface from dmaqs. length 32 bits type read only address xxxx 0eac power on reset value x ? 0000 000f ? restrictions none reserved active set/reset reserved packet winner b packet winner a 313029282726252423222120191817161514131211109876543210 bit(s) name description 31 reserved reserved. 30 active set/reset for performance reasons, two sets of operational latches (bank a and bank b) exist in the arbiter for packet memory. when set, this bit indicates that the b latches are active, and when reset it indicates that the a latches are active. when this bit is set and memory is locked, bits 7-4 of this register contain a value that indicates the entity that most recently was accessing memory. if this bit is reset and memory is locked, bits 3-0 of this register contain a value that indicates the entity that was accessing memory most recently. 29-8 reserved reserved. will read ? 0 ? . 7-4 packet winner b packet winner b. 3-0 packet winner a packet winner a. value encoding is: f: reserved 7: segbf e: chksm 6: reserved d: pcore lo 5: rxaal c: bcach lo 4: gpdma b: pools lo 3: dmaqs a: csked 2: pcore hi 9: reserved 1: bcach hi 8: rxque 0: pools hi bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary memory arbitration logic (arbit) page 226 of 706 pnr261_12arbit.fm.06 august 14, 2000 3.10.16 arbit packet address register a if latch bank a is active, the bits in this register indicate the last address used to access packet memory. 3.10.17 arbit packet address register b if latch bank b is active, the bits in this register indicate the last address used to access packet memory. length 32 bits type read only address xxxx 0e90 power on reset value x ? 0000 0000 ? restrictions none last address provided by arbiter 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 last address bank a these bits contain the last address provided by the arbiter to the packet memory control- ler. length 32 bits type read only address xxxx 0ea0 power on reset value x ? 0000 0000 ? restrictions none last address provided by arbiter 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 last address bank b these bits contain the last address provided by the arbiter to the packet memory control- ler.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_12arbit.fm.06 august 14, 2000 memory arbitration logic (arbit) page 227 of 706 3.10.18 arbit packet length register the bits in this register indicate the last length used to access packet memory. length 32 bits type read only address xxxx 0e94 power on reset value x ? 0000 0000 ? restrictions none reserved latch bank b length latch bank a length 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 reserved reserved. 15-8 bank b length these bits contain the length used to access packet memory through latch bank b. 7-0 bank a length these bits contain the length used to access packet memory through latch bank a.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary memory arbitration logic (arbit) page 228 of 706 pnr261_12arbit.fm.06 august 14, 2000 3.10.19 arbit packet lock entity enable register the value programmed in this register controls which entity, if any, has access to packet memory immedi- ately after memory has locked. this register powers up to a value that will not allow any entity to access memory after a lock condition until the lock condition has been properly cleared. length 32 bits type read/write address xxxx 0ea8 power on reset value x ? 0000 000f ? restrictions none reserved bit map value 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-4 reserved reserved. 3-0 entity with post memory lock access the value in these bits map to the following entities: value encoding is: f: reserved 7: segbf e: chksm 6: reserved d: pcore lo 5: rxaal c: bcach lo 4: gpdma b: pools lo 3: dmaqs a: csked 2: pcore hi 9: reserved 1: bcach hi 8: rxque 0: pools hi
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_12arbit.fm.06 august 14, 2000 memory arbitration logic (arbit) page 229 of 706 3.10.20 arbit packet config register the bits in this register control the operation of the packet memory arbiter. length 32 bits type clear/set address xxxx 0eb8 and 0ebc power on reset value x ? 0000 0000 ? restrictions none reserved arbit entity state control serialize packet memory accesses 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-2 reserved reserved. 1 arbit entity state control this bit controls the arbit entity state debug mux. when set, the incoming entity requests and outgoing acknowledges are routed to the entity state pins. when reset, the internal state information is routed to the entity state pins. 0 serialize packet memory accesses when set, this bit forces all operations to packet memory to be serialized. an operation from one entity must be entirely complete before an operation from another entity will be started. when reset, if the memory operation in process can be overlapped, a second operation will be started before the first operation is complete.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary memory arbitration logic (arbit) page 230 of 706 pnr261_12arbit.fm.06 august 14, 2000 3.10.21 arbit performance counter control the bits in this register determine what events are counted by the memory performance counters. this 32-bit register is divided into four 8-bit values, one value for each of the counters. the eight bits determine what memory event is counted by the associated counter. length 32 bits type read/write address xxxx 0eb4 power on reset value x ? 9f1e 8000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_12arbit.fm.06 august 14, 2000 memory arbitration logic (arbit) page 231 of 706 memory event counted by performance counter 3 memory event counted by performance counter 2 memory event counted by performance counter 1 memory event counted by performance counter 1 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-24 event counter 3 control the value loaded into these bits defines what memory event is counted by performance counter 3. these bits are defined as follows: bit 7: when reset, control memory events are counted, when set, packet memory events are counted by the associated counter. bit 6: reset the associated counter to 0. this bit will be reset by the hardware, during the same cycle that the counter is being reset. bit 5: reserved bits 4-0: cycle type, encoded as: 00000 any request 00001 any request between 0 and 4 bytes 00010 any request between 5 and 8 bytes 00011 any request between 9 and 16 bytes 00100 any request between 17 and 32 bytes 00101 any request between 33 and 64 bytes 00110 any request between 65 and 128 bytes 00111 reserved 01000 any read request 01001 any read request between 0 and 4 bytes 01010 any read request between 5 and 8 bytes 01011 any read request between 9 and 16 bytes 01100 any read request between 17 and 32 bytes 01101 any read request between 33 and 64 bytes 01110 any read request between 65 and 128 bytes 01111 reserved 10000 any write request 10001 any write request between 0 and 4 bytes 10010 any write request between 5 and 8 bytes 10011 any write request between 9 and 16 bytes 10100 any write request between 17 and 32 bytes 10101 any write request between 33 and 64 bytes 10110 any write request between 65 and 128 bytes 10111 reserved 11000 read op latency 11001 write op latency 11010 reserved 11011 reserved 11100 reserved 11101 reserved 11110 hold current count 11111 every cycle 23-16 event counter 2 control the value loaded into these bits define what memory event is counted by performance counter 2. 15-8 event counter 1 control the value loaded into these bits define what memory event is counted by performance counter 1. 7-0 event counter 0 control the value loaded into these bits define what memory event is counted by performance counter 0.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary memory arbitration logic (arbit) page 232 of 706 pnr261_12arbit.fm.06 august 14, 2000 3.10.22 arbit memory performance counter these registers count memory events as defined in the arbit performance counter control register. length 32 bits type read/write address counter 0 xxxx 0ec0 counter 1 xxxx 0ec4 counter 2 xxxx 0ec8 counter 3 xxxx 0ecc power on reset value x ? 0000 0000 ? restrictions none number of times the event selected in the performance counter control register has occurred 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-0 event count these bits count the number of times that the event selected in the performance counter control register has occurred.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_13bcach.fm.06 august 14, 2000 the bus dram cache controller (bcach) page 233 of 706 3.11 the bus dram cache controller (bcach) the array is organized in four logically separate cache lines, any of which can be used for processor accesses or master/slave dma accesses. the cache is accessible on byte boundaries on the control pro- cessor side; access of this entity to pakit is performed on 64-bit (word) boundaries. the address tags of each of the four 32-byte cache lines are compared to the requesting address to select the bank to be used to satisfy the control processor bus operation. streaming accesses of the cache use a predictive look-ahead scheme to fill the cache for read operations from packet memory. under normal conditions, a single cache miss will be expected at the start of each dma read operation. this cache miss will initiate a read operation from packet memory to fetch the requested data and enough additional data to fill the remainder of the cache line. if the requested data is in the last n bytes (n is programmable via the bcach control register) of the cache line, the read operation to pakit will be extended to fill the next cache line with sequential data as well. this same programmable value is used to determine when to initiate the next sequential cache line fill operation during a dma read operation. during non-aligned write operations to packet memory, bcach will perform read/modify/write cycles to pakit. processor accesses operate without predictive caching. when a cache miss occurs, a comet read opera- tion will be initiated to fetch the 32-byte block of data that contains the requested data. the data read from pakit will be loaded into the ? least recently used ? cache line. this section contains descriptions of the registers used by the bus cache logic transmit data path entities.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the bus dram cache controller (bcach) page 234 of 706 pnr261_13bcach.fm.06 august 14, 2000 3.11.1 bcach control register the bits in this register control the various functions provided by the cache logic. length 32 bits type clear/set address xxxx 1000 and 1004 power on reset value x ? 2000 0000 ? restrictions none enable caching packet memory reads enable caching packet memory writes retry delayed accesses bcach diagnostic mode flush cache line 3 flush cache line 2 flush cache line 1 flush cache line 0 use rxque advice ack rxque immediately enable ping pong buffer support disable locking on collisions enable automatic flush force predictive fill/flush for non-streaming accesses reserved predictive fill threshold timed flush time out value 313029282726252423222120191817161514131211109876543210 bit(s) name description 31 enable caching packet memory reads when this bit is set, reads of packet memory will be cached. 30 enable caching packet memory writes when this bit is set, writes to packet memory will be cached. 29 retry delayed accesses when this bit is set, and the cache is enabled, any access of packet memory that cannot be satisfied within one cycle will be terminated by the cache with a retry indication. the accessing device is expected to allow competing devices a chance to gain access to the bus and then retry the same operation. 28 bcach diagnostic mode when this bit is set, diagnostic mode is enabled and reads and writes of the bcach array from the processor are enabled. when reset, reads from the processor will return x ? badd badd ? and writes will have no affect. care must be taken when performing writes from the processor: if a cache line fill operation is in process and a write is performed from the processor that writes to the same address in the array as is being written from the fill operation, results are indeterminate. 27 flush cache line 3 setting this bit forces a flush of cache line 3 if it is dirty. this bit is reset by the hardware when the flush completes. 26 flush cache line 2 setting this bit forces a flush of cache line 2 if it is dirty. this bit is reset by the hardware when the flush completes.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_13bcach.fm.06 august 14, 2000 the bus dram cache controller (bcach) page 235 of 706 25 flush cache line 1 setting this bit forces a flush of cache line 1 if it is dirty. this bit will be reset by the hard- ware when the flush completes. 24 flush cache line 0 setting this bit forces a flush of cache line 0 if it is dirty. this bit will be reset by the hard- ware when the flush completes. 23 use rxque advice when set, advice from the receive queue entity causes the cache logic to fill a line with the data from the start of the buffer that was just dequeued by the software. this should improve performance by having the receive data available when the processor accesses the buffer after the dequeue. to make best use of this feature, the code should access the receive data shortly after the dequeue to avoid the data in the cache line from becom- ing stale and being invalidated due to other cache functions. when reset, advice from the receive queue entity will be ignored. 22 ack rxque immediately when reset, advice from the receive queue entity is acknowledged immediately even if the cache is not able to perform the requested data fetch. in this case, the advice is lost, and the cache will not fetch the data until the processor requests it again. when set, the advice from the receive queue entity is not acknowledged until the cache has actually latched the advice information. this guarantees that the advice will be used, but may cause delays in the receive queue entity ? s processing. 21 enable ping pong buffer support when reset, this bit disables the two-line ping pong feature associated with consistent sequential cache accesses. when set, a series of sequential accesses to packet memory that would normally require more than two cache lines to be satisfied is limited to only two cache lines, regardless of the length of the transfer. this feature is intended to improve cache performance by preventing cache lines that contain the most recently used proces- sor data from being flushed due to a long streaming access. 20 disable locking on collisions when set, this bit prevents detected collisions from locking up the memory control entity. 19 enable automatic flush when set, this bit enables the automatic flush feature of the cache. the auto flush feature forces a flush of a cache line to be performed if a sequential write of the last two locations in the cache line is detected. 18 force predictive fill/flush for non-streaming accesses when set, this bit forces the predictive fill/flush logic to operate on all accesses of the cache rather than just streaming accesses. when reset, the predictive fill logic will only be activated for streaming accesses in the cache. 17-16 reserved reserved. 15-8 predictive fill threshold these bits set the threshold at which a predictive fill will be initiated. if all of these bits are set to ? 1 ? , a predictive fill will be initiated on the first streaming access of a cache line, regardless of which byte in the line is accessed. if this field is set to x ? 3f ? a predictive fill will be initiated on any streaming access of bytes at offset x ? 2 ? through x ? 7 ? in the cache line. if this field is set to x ? 03 ? a predictive fill will be initiated on any streaming access of bytes at offset x ? 6 ? or x ? 7 ? in the cache line. setting the field to all ? 0 ? s will disable predictive fills. 7-0 timed flush time out value these bits control the time-out value used to monitor dirty cache lines for inactivity. the value loaded into these eight bits is the number of 240 ns ticks that can occur without any activity in a dirty cache line before the cache logic will force a flush of the line to main memory. setting these bits to all ? 0 ? s disables the timed flush feature. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the bus dram cache controller (bcach) page 236 of 706 pnr261_13bcach.fm.06 august 14, 2000 3.11.2 bcach status register the bits in this register reflect the current status of the cache. length 32 bits type clear/set address xxxx 1008 and 100c power on reset value x ? 0000 0000 ? restrictions none reserved pools invalidation of dirty lines write hit on multiple lines read hit on multiple lines negative ack from vimem collision on cache line 3 collision on cache line 2 collision on cache line 1 collision on cache line 0 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-8 reserved reserved. 7 pools invalidation of dirty lines when this bit is set, it indicates that pools requested that the cache logic invalidate a line that was dirty. this is usually an indication that a buffer was freed by the software before data written out to the buffer had been flushed to memory. this may or may not be an error condition. 6 write hit on multiple lines when this bit is set, the cache logic has detected a write hit to multiple lines. this indi- cates an internal logic error in the cache. 5 read hit on multiple lines when this bit is set, the cache logic has detected a read hit to multiple lines. this indi- cates an internal logic error in the cache. 4 negative ack from vimem when set, the cache logic has detected a negative acknowledgment from the virtual memory logic entity. this indicates that a virtual buffer boundary was crossed and a new real buffer was needed to map the requested address space into, but no real buffer was available. in addition to setting this status bit, the cache logic writes the pattern x ? zzzz zbad ? into the header of the packet at offset x ? c ? where zzzzz is the offset of the failing write into the packet. 3 collision on cache line 3 when this bit is set, the cache logic has detected a collision in cache line 3. this is a situ- ation where another entity in the pnr was accessing an area of memory that was con- tained in one of the cache lines that was dirty. further information for problem diagnosis is latched in the memory controller logic when this condition is detected. 2 collision on cache line 2 when this bit is set, the cache logic has detected a collision in cache line 2. 1 collision on cache line 1 when this bit is set, the cache logic has detected a collision in cache line 1. 0 collision on cache line 0 when this bit is set, the cache logic has detected a collision in cache line 0.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_13bcach.fm.06 august 14, 2000 the bus dram cache controller (bcach) page 237 of 706 3.11.3 bcach interrupt enable register bits 7-0 in this register allow the user to selectively determine which bits in the bcach status register will cause processor interrupts. a ? 0 ? in a bit position masks interrupts from the corresponding bit location in the bcach status register . a ? 1 ? in a bit position allows interrupts for the corresponding bit in the bcach status register . bits 15-8 in this register allow the user to selectively determine which bits in the bcach status register will lock the cache. bits 15-8 correspond to bits 7-0 of the bcach status register with regard to determining an enabled lock condition. a ? 1 ? in any bit position forces the cache to lock if the corresponding bit is set in the bcach status register . if the cache locks, all status regarding the cache lines is maintained until the cache enable bits in the control register are turned off. length 32 bits type clear/set address xxxx 1010 and 1014 power on reset value x ? 0000 ffff ? restrictions none bit(s) name description 31-16 reserved reserved. 15-8 lock enables bits 15-8 correspond to bits 7-0 in the bcach status register on page 236. if a lock enable bit and the corresponding status register bit are set, the cache will lock. 7-0 interrupt enables bits 7-0 correspond to bits 7-0 in the bcach status register on page 236. if an interrupt enable bit and the corresponding status register bit are set, an interrupt is generated.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the bus dram cache controller (bcach) page 238 of 706 pnr261_13bcach.fm.06 august 14, 2000 3.11.4 bcach high priority timer value this register defines the number of 15 ns cycles that will pass from the time a valid pci bus request is raised to bcach until bcach will raise its high priority request to the memory controllers. a value of ? 0 ? in this reg- ister disables this function completely. length 32 bits type read/write address xxxx 1040 power on reset value x ? 0000 0040 ? restrictions none reserved number of 15 ns cycles 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-8 reserved reserved. 7-0 number of 15 ns cycles specifies the number of 15 ns cycles before a high priority request. for example, if bit 3 is set to ? 1 ? and all others are set to ? 0 ? , then 6 cycles (120 ns) will pass between receipt of request and sending request to controllers.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_13bcach.fm.06 august 14, 2000 the bus dram cache controller (bcach) page 239 of 706 3.11.5 bcach line tag registers these registers are useful only in diagnostic testing of the cache logic. each register will contain the tag value for the data contained in that particular cache line. length 32 bits type read only address tag number 0 xxxx 1080 tag number 1 xxxx 10a0 tag number 2 xxxx 10c0 tag number 3 xxxx 10e0 power on reset value x ? 0000 0000 ? restrictions none 32-bit memory line address modulo read start address reserved 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-5 32-byte memory line address these bits contain the address of the 32-byte line of memory contained in the cache line. 4-3 modulo read start address in an attempt to provide the fastest possible access to data in memory, the 8-byte word in memory that contains the requested read data is accessed first and all other entries in the cache line are filled by wrapping back to the beginning of the cache line if required. these two bits contain the starting address for the modulo read fill operation. they will also con- tain the least significant address bits when a cache line is initially written to. 2-0 reserved will always be returned as ? 0 ? .
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the bus dram cache controller (bcach) page 240 of 706 pnr261_13bcach.fm.06 august 14, 2000 3.11.6 bcach line valid bytes register these registers are useful only in diagnostic testing of the cache logic. each register will contain a bit signifi- cant flag indicating which bytes in the 32-byte cache line are valid. all of these bits will be active after a cache line fill operation has occurred, but any combination of these bits can be valid after the processor has per- formed a write operation to memory. length 32 bits type read only address tag number 0 xxxx 1084 tag number 1 xxxx 10a4 tag number 2 xxxx 10c4 tag number 3 xxxx 10e4 power on reset value x ? 0000 0000 ? restrictions none cache line fill operation set/reset 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-0 valid bytes in cache line each bit indicates whether the associated byte in the cache line contains valid data. if the bit is set, the cache line contains valid data and a fetch from main storage is not required to fulfill a request for a read from this location. if the bit is reset, a read of the associated location will require a cache line fill operation before the request can complete.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_13bcach.fm.06 august 14, 2000 the bus dram cache controller (bcach) page 241 of 706 3.11.7 bcach line status register these registers are useful only in diagnostic testing of the cache logic. each register will contain a bit signifi- cant flag indicating the current status of the associated cache line. length 32 bits type read only address tag number 0 xxxx 1088 tag number 1 xxxx 10a8 tag number 2 xxxx 10c8 tag number 3 xxxx 10e8 power on reset value tag number 0 x ? 0000 0000 ? tag number 1 x ? 0000 0010 ? tag number 2 x ? 0000 0020 ? tag number 3 x ? 0000 0030 ? restrictions none valid tag reserved loaded by pci read loaded by predictive fill loaded by rxque advice loaded by pci write reserved lru bits dirty bits 313029282726252423222120191817161514131211109876543210 bit(s) name description 31 valid tag when set, this indicates that the associated tag register contains a valid tag. 30-12 reserved reserved. 11 loaded by pci read when set, this bit indicates that the associated tag register was loaded due to a read request from the pci bus. 10 loaded by predictive fill when set, this bit indicates that the associated tag register was loaded due to a predictive fill request. 9 loaded by rxque advice when set, this bit indicates that the associated tag register was loaded due to advice from the receive queue entity. 8 loaded by pci write when set, this bit indicates that the associated tag register was loaded due to a write request from the pci bus. 7-6 reserved reserved.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary the bus dram cache controller (bcach) page 242 of 706 pnr261_13bcach.fm.06 august 14, 2000 3.11.8 bcach cache line array this array is divided into four 32-byte buffers used as cache lines 0, 1, 2, and 3. 5-4 lru bits these bits indicate the cache lines current position with respect to the least recently used algorithm. a value of ? 0 ? indicates it is the most recently used while a value of ? 3 ? indicates the least recently used. 3-0 dirty bits these bits, when set, indicate that the associated 8-byte word of the cache line is dirty. this information is used on cache line flushes, to lower memory utilization, by eliminating non-dirty word flushes from the cache line flush operation. for example, if these bits con- tain x ? 1 ? , only the 8-byte word at offset zero in the cache line is dirty, so the flush operation will only write this one word to memory, saving three memory access cycles. if these bits contain x ? c ? , only the two 8-byte words starting at offset x ? 10 ? in the cache line are dirty. length 16 words x 64 bits type read/write address xxxx 1100 - 117f restrictions this array can only be accessed when the diagnostic mode bit in the control regis- ter is set. bit(s) name description ? cache lines the four cache lines start at the following offsets into the array: line 0 offset x ? 00 ? line 1 offset x ? 20 ? line 2 offset x ? 40 ? line 3 offset x ? 60 ? bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 243 of 706 3.12 transmit scheduler (csked) the logic consists of timers and counters for determining transmit opportunities and interfaces to arbit (for accessing the timing data and descriptors), pcint (for register accesses), rxque (for queuing events), pools (for returning buffers when finished transmitting), segbf (for getting the data from memory to trans- mit) and txlcd (for caching the lcds). 3.12.1 scheduling overview this entity provides traffic shaping to ensure that traffic sent by the pnr conforms to the quality of service (qos) parameters as defined by the atm forum. c sked provides s upport for the following qos parameters:  peak cell rate (pcr). the maximum number of cells per second that the connection can transfer into the network.  sustained cell rate (scr). the average number of cells per second that the connection can transfer into the network. the burst tolerance determines the length of time over which the network measures this average.  burst tolerance.the maximum length of time that the user can transfer at the peak cell rate. burst toler- ance can be measured in number of cells, a measurement known as maximum burst size (mbs). csked will send out cells at the scr. if transmit opportunities are missed, as is the case when there is no data to send, the actual rate will become less than scr. when data becomes available to send, c sked will transmit up to mbs cells at the pcr, until the transmit rate returns to scr. 3.12.2 operational description 3.12.2.1 lcd initialization a logical channel data structure (lcd) containing scheduling parameters for the circuit must be initialized before segmentation can be started. the parameters that are important to the operation of this entity are: average_interval this field contains the minimum average spacing allowed between cells transmitted on this connection. it is the reciprocal of the scr, as specified in the atm forum traffic management specification. the value for this field is expressed in slot times. the length of time for a slot is defined by the timeslot prescaler register and should normally be set to one cell time. peak_interval this field contains the minimum spacing allowed between consecutive cells on this connection. it is the reciprocal of the pcr as specified in the atm forum traffic management specification. this spacing is also expressed in slot times. a connec- tion that can transmit every slot time would have a value of ? 1 ? for this field. max_burst_value and max_burst_mult the values in these fields are used to limit the number of cells that can be trans- ferred at the peak rate. the max_burst_value will be multiplied by four to the power of the max_burst_mult to yield the maximum credit time. this time is expressed in slot times and represents the time it would take to acquire the maximum number of cell credits. this maximum credit time should equal the average interval minus the peak interval, multiplied by the maximum number of cells (mbs) that can be trans- ferred at the peak rate.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 244 of 706 pnr261_14csked.fm.06 august 14, 2000 see 7.3 transmit lcd data structures on page 678 for further information. 3.12.2.2 a scheduling example if a connection is to have an scr of 50 mbps and a pcr at the line rate of 150 mbps and a mbs of 10 cells, the lcd needs to be initialized as follows:  average_interval = 150 mbps/50 mbps = 3  peak_interval = 150 mbps/150 mbps = 1  max_burst_value = 10*(3-1) = 20 the following example uses a timeline to show how a connection with these parameters is scheduled. cells are sent every third slot while there is data to send. after the first two cells are sent there is no more data to send until another packet is enqueued. for each missed transmit opportunity, a cell can be sent at the peak interval, which is one. in the 15 timeslots after the first cell, five cells are sent for an scr of 50 mbps. the burst size is three, which is less than mbs. the unfilled slots can be used by other connections. transmit_priority this field specifies the priority of transmission on this connection. three levels of priority are available. connections needing the highest quality of service, such as a cbr connection, should use the highest priority. connections with the lowest qual- ity of service requirements, such as a ubr connection, should use the lowest prior- ity. drop data can be sent on up to four physical drops. this field specifies the drop for this connection. max_resolution if this bit is set, the lower eight bits of the average interval and peak interval param- eters contain a fractional component. this allows a finer resolution for scheduling. for example, for a peak interval of 1.5 time units, the value written to the peak_interval field should be x ? 0180 ? . if this bit is set, the initial value of time-stamp should contain the current timeslot counter shifted 16 bits to the left. figure 11: timeline example of scheduling represents 1 time slot (the time it takes to send one cell) s represents a time slot in which a cell is sent s s represents a transmit opportunity at the sustainable cell rate (scr) s s s s s packet enqueue time
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 245 of 706 3.12.2.3 csked initialization before packets are enqueued for transmission, in addition to initializing the above scheduling parameters in the lcd, the following registers need to be set up.  timeslot prescaler register - the amount of time for one timeslot is defined by this register. it defaults to 707 ns which is one cell time on a 622 mbps sonet interface.  csked control register - additional scheduling options, such as number of priorities, need to be set in this register. 3.12.2.4 packet initialization packets to be segmented are written to packet memory, which has been allocated by pools. the address of the lcd describing the channel that this packet is to be transmitted on must be written to the header of the packet. packet segmentation is started by issuing the transmit enqueue primitive to this entity. this entity will schedule segmentation of the packet according to the parameters set up in the lcd. 3.12.3 scheduling options 3.12.3.1 abr scheduling csked has logic to assist in the processing of abr connections. if the connection is abr, the lcd will have a different configuration, as specified in 7.3 transmit lcd data structures on page 678. the following fields need to be initialized before the packets are sent on the connection.  scheduling type . this field must be set to the value specifying an abr connection.  nrm. this field should specify the maximum number of cells a source may send for each forward rm-cell. number of cells = (2 nrm )+1.  trm . this field provides an upper bound on the time between forward rm-cells for an active source. time = 100 ? (2 -trm ) msec.  adtf . the acr decrease time factor is the time permitted between sending rm-cells before the rate is decreased to icr. time = adtf ? 0.01 msec.  all other abr fields should be initialized to ? 0 ? .
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 246 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.3.2 frame scheduling csked has logic to support frame-based scheduling. it is enabled whenever the phy type is configured for pos-phy in linkc. in frame-based scheduling the packet is sent out at the line rate, but the start time of the next frame is determined by multiplying the peak interval by the number of 64-byte blocks in the packet. the average portion of the bandwidth used by a connection will be 1/(peak interval). in frame-based scheduling, the average interval in the lcd should be set equal to the peak interval times the maximum packet size divided by 64. for example, if a connection is to use 1/4 of the bandwidth, the peak interval should be set to four. the frames will be sent out at line rate, but the spacing between the start of each frame will be four timeslots for each cell sent from the packet. on average, 1/4 of the bandwidth will be used by the connection. the follow- ing timeline example depicts sending two packets, the first contains four cells and the second contains three cells. the unfilled slots can be used by other connections. the above example assumes that one slot time is initialized to the time it takes to send 64 bytes out on the line. the term ? cells ? was used in this example to mean a 64-byte block of packet data. in frame mode, the atm header is not prepended to the data being sent. weighted fair queueing on a frame basis is supported on the low priority queue by setting bit 17 in the csked control register. when using frame-based scheduling and weighted fair queuing together, the average inter- val will be used to limit the spacing between packets, not cells. 3.12.3.3 path scheduling csked has logic to support sharing scheduling parameters between multiple connections. in path schedul- ing, an lpd is set up to contain the scheduling parameters for the group of connections in the same way it is done for lcds. all connections that wish to share this bandwidth set the alter_sched field in their lcd to indi- cate this vc is on a vp, and initialize the lpd_pointer field to point to the lpd. the segmentation portion of the lpd is not used since the segmentation parameters are taken from the lcd. the scheduling parameters in the lcds are not used as they are in the lpd. the bandwidth is shared on a packet or cell basis depending the value of the alter_sched field in the lcd. since both the lpd and lcd need to be fetched for each trans- mit opportunity, this scheduling method should not be used where the performance boundaries are being pushed, as in 622 mbps. see 7.3 transmit lcd data structures on page 678 for further information on lpd descriptors. figure 12: timeline example of frame scheduling s s s s s s s s time 3 cells x 4 slots/cell = 12 timeslots 4 cells x 4 slots/cell = 16 timeslots represents 1 time slot (the time it takes to send one cell) s represents a time slot in which a cell is sent
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 247 of 706 3.12.4 primitives 3.12.4.1 enqueue after a packet has been written to memory and the packet header updated with the offset and length of the data and the lcd address of the connection, an enqueue primitive needs to be issued to the transmit enqueue primitive address. 3.12.4.2 close connection when no more traffic is to be sent on a connection, this primitive can be executed to cause an event to be generated when segmentation has stopped on this connection. segmentation will be stopped immediately, or stopped after all packets on this connection have been transmitted as specified in the csked control regis- ter. 3.12.4.3 transmit enqueue primitive enqueues a buffer for transmission. when read, will return the address of the last packet enqueued. length 32 bits type read/write address xxxx 1200 power on reset value x ? 0000 0000 ? restrictions none transmitted buffer address ignored 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-6 transmitted buffer address this must contain the address of the buffer to be transmitted. buffers must be aligned on at least 64-byte boundaries. the lower six bits are ignored. 5-0 ignored ignored.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 248 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.4.4 resume transmission primitive resumes transmission on an abr connection that has been suspended. on an abr connection, adtf, crm, and ccr=0 events will cause the transmission to be suspended until a rate conversion is completed, normally by the internal processor. this primitive will resume transmission on those connections, once the rate conversion is completed. length 32 bits type read/write address xxxx 1204 power on reset value x ? 0000 0000 ? restrictions this address should be written with care. this primitive should only be used on connections that have been suspended. resume lcd address ignored 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-7 resume lcd address this must contain the address of the lcd that is to resume transmission. the lower seven bits are ignored. 6-0 ignored ignored.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 249 of 706 3.12.4.5 start/stop timer primitive start or stop a timer with the parameters in the specified lcd address. when this primitive is executed, a timer whose parameters are contained in the specified lcd is started or stopped. bit 0 specifies whether to start (0) or stop (1) the timer. when the timer pops, a dma descriptor specified in the lcd will be executed. length 32 bits type read/write address xxxx 1208 power on reset value x ? 0000 0000 ? restrictions none start/stop timer reserved start - stop 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-7 start/stop timer this must contain the address of the lcd that contains the timer parameters. 6-1 reserved reserved. 0 start - stop this bit specifies whether the timer is to be started (0) or stopped (1).
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 250 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.4.6 close connection primitive transmission is complete on a connection specified by an lcd address. when no more traffic is to be sent on a connection, this primitive can be executed to cause an event to be generated when segmentation has stopped on this connection. segmentation will be stopped immediately, or stopped after all packets on this connection have been transmitted, as specified in the csked control register. length 32 bits type read/write address xxxx 120c power on reset value x ? 0000 0000 ? restrictions none close lcd address reserved 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-7 close lcd address this must contain the address of the lcd that is to be closed. the lower seven bits are ignored. 6-0 reserved reserved.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 251 of 706 3.12.4.7 timeslot prescaler register this register determines the length of time for one timeslot. this controls the rate that the cell scheduling counters are incremented. each clock cycle, the value in this register is added to a 24-bit counter. when the upper bit of the counter changes state, the current timeslot counter is incremented. this should normally be set to the time it takes to transmit one cell. it will be initialized to the cell time for a 622 mb/s sonet connec- tion (599.04 mb/s payload). the following formula should be used to determine the value to load in this regis- ter: timeslot prescaler = (clock interval/timeslot interval) x 2 23 . 3.12.4.8 current timeslot counter this counter contains a count of how many prescaled intervals have elapsed. it is used to determine if it is time to send data from a connection. length 32 bits type read/write address xxxx 1210 power on reset value x ? 0002 b67c ? restrictions this register should be written only at initialization time. reserved timeslot counter rate 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-24 reserved reserved. 23-0 timeslot counter rate this value will determine the rate at which the current timeslot counter is advanced. length 32 bits type read/write address xxxx 1218 power on reset value x ? 0000 0000 ? restrictions this register is meant to be read only. it is writable for diagnostic purposes only. elapsed interval count 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 elapsed interval count this value represents how many expirations have occurred since the counter rolled over.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 252 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.5 csked control register this register is used to control the actions of csked. length 32 bits type clear/set address xxxx 1220 and 1224 power on reset value x ? 0000 0759 ? restrictions none reserved enqueue arbitration reserved disable preflushing txlcd cache reserved disable overlapping transmit requests close connection immediately queue lcd-based memory management events lcd-based memory management use weighted fair queueing for low priority reserved reserved queue lcd address disable virtual buffer error detection disable queuing virtual buffer errors flush transmit lcd cache segbf queue length threshold disable segbf queue length buffer request priority enable timers reschedule packets enable high priority traffic enable medium priority traffic enable low priority traffic enable cell scheduling 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31 reserved reserved. 30-29 enqueue arbitration there can be three sources of an enqueue request. these bits control the order in which the requestoring entities will be serviced if more than one is active. 00 round robin 01 pcint, dmaqs, reasm 10 dmaqs, reasm, pcint 11 reasm, pcint, dmaqs 28 reserved reserved. 27 disable preflushing txlcd cache this bit disables automatically, flushing a cache line when all lines are dirty. 26-22 reserved reserved. 21 disable overlapping transmit requests this bit is meant for debug purposes only. it will disable the ability of csked to overlap requests to segbf. 20 close connection immediately setting this bit to ? 1 ? causes segmentation to stop immediately on any connection that has been issued a close connection primitive. when this bit is set to ? 0 ? , an event will be gen- erated after all traffic queued to this connection has been sent.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 253 of 706 19 queue lcd-based memory man- agement events setting this bit to ? 1 ? causes lcd-based memory management events to be queued to the transmit complete queue, if enabled by bit 18 of this control register. if lcd-based memory management is enabled and this bit is off, the receive pool id associated with this connection will be updated when a threshold is crossed. 18 lcd-based memory management setting this bit to ? 1 ? enables lcd-based memory management for received packets. see figure 69: definition of lcd-based memory management of transmit lcd on page 686 for further information on this function. 17 use weighted fair queueing for low priority setting this bit to ? 1 ? causes low priority traffic to be scheduled using weighted fair queue- ing. the peak interval in the lcd is used to provide a relative weight in determining the amount of bandwidth the connection will use. for example, a peak interval of one will use twice the bandwidth as a connection with a peak interval of two. the average interval specifies the maximum rate that the connection can use. for example if the average inter- val is set to two, the maximum rate at which it can send a cell is every two timeslot times (as defined in the timeslot prescaler register). 16-15 reserved reserved. 14 queue the lcd address if freeing and queueing setting this bit to ? 1 ? causes the lcd address, instead of the packet address, to be queued if both freeing and queueing on transmit are complete. 13 disable virtual buffer error detec- tion setting this bit to ? 1 ? causes the buffer enqueue logic to ignore virtual buffer errors. 12 disable queuing virtual buffer errors if virtual buffer error detection is not disabled, detected errors will be queued. when this bit is set to ? 1 ? , this queueing is disabled and the buffer will be freed. 11 flush transmit lcd cache when this bit is set to ? 1 ? , the transmit lcd cache will be flushed. this bit resets after the cache has been flushed. flushing the cache should not be needed in normal operation. 10-8 segbf queue length threshold cells can be queued in segbf up to the number specified in this register. the default is seven which is more than the actual buffers available. writing these bits to ? 000 ? also dis- ables this function. 7 disable segbf queue length in scheduling csked will normally include segbfs queue length in the calculations when reschedul- ing a cell. setting this bit to ? 1 ? disables this function, and the cell will be scheduled as if the cells were transferred when segbf accepted them. 6 priority of buffer requests when this bit is set to ? 0 ? , scheduling requests have a higher priority than buffer enqueue requests. when this bit is set this priority is reversed. it should be ? 1 ? if a significant per- centage of packets are only a few cells long. 5 enable timers timer descriptors can be enqueued to this entity that will cause a dma descriptor to be executed on expiration. if these timers are used, this bit must be set to ? 1 ? . if they are not used, this bit should be set to ? 0 ? (default). 4 reschedule packets in the slow queue to the fast queue if the average or peak interval is greater than 255, the cells will be scheduled in the slow queue. the slow queues will be serviced every 64 pre-scaler time units. this means that a jitter of up to 64 pre-scaler time units should be expected for slow traffic. if this bit is set, packets in the slow queue will be rescheduled at the appropriate time to the fast queue. this will decrease the variation in the scheduling but may cause some performance deg- radation if traffic is heavy. 3 enable high priority traffic enable high priority traffic. 2 enable medium priority traffic enable medium priority traffic. 1 enable low priority traffic enable low priority traffic. 0 enable cell scheduling when this bit is set to ? 0 ? , no primitives will be handled and no cells will be scheduled. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 254 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.6 transmit segmentation throttle register this register contains the number of cycles to wait between successive requests to transmit a cell. its pur- pose is to slow segmentation on all vcis if it is determined by software that the network cannot handle the generated load. the value in this register will be loaded into the transmit segmentation counter each time a cell is accepted for transmission. for normal operation, the value in this register should be ? 0 ? . 3.12.7 transmit segmentation throttle counter this register is loaded with the value in the transmit segmentation throttle register after each cell is accepted for transmission and counts down until it reaches ? 0 ? . a new cell transmission will not be requested until this counter reaches ? 0 ? . length 32 bits type read/write address xxxx 1230 power on reset value x ? 0000 0000 ? restrictions none reserved queue length 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 reserved reserved. 15-0 queue length when the transmit complete queue length reaches this value an interrupt will be gener- ated. length 32 bits type read only address xxxx 1234 power on reset value x ? 0000 0000 ? restrictions read only reserved transmit segmentation throttle counter 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 reserved reserved. 15-0 transmit segmentation throttle counter when this counter reaches ? 0 ? , a new cell can be transmitted.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 255 of 706 3.12.8 mpeg conversion register this register is used to convert mpeg time units into timeslot time units. if mpeg traffic is configured in the lcd, the data stream will be monitored for pcrs. if a pcr is detected, it will be scheduled at the time speci- fied in the pcr. a conversion factor needs to be written into this register to convert the mpeg time units into timeslot units. it will be initialized to a value that converts the mpeg time units (90 khz) into the timeslot units (353.2 khz, assuming one timeslot is the time it takes to send one cell over a sonet connection). the lower 12 bits of this register contain the fractional portion of this conversion factor. example: 353.2076 khz / 90 khz = 3.924528 = 3.ecb hex length 32 bits type read/write address xxxx 125c power on reset value x ? 0000 3ecb ? restrictions none reserved mpeg time conversion factor 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-15 reserved reserved. 14-0 mpeg time conversion factor contains the conversion factor.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 256 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.9 abr timer prescaler register this register determines the length of time for a tick of the rm cell timer. this controls the rate the cell scheduling counters are incremented. each clock cycle, the value in this register is added to a 24-bit counter. when the upper bit of the counter changes state, the rm cell timer is incremented. this should be set to value of 0.78 ms. it will be initialized to 0.78 ms assuming a 15-ns clock (as set up in sclck). the following formula should be used to determine the value to load in this register: abr timer prescaler = (clock interval/0.78 ms) x 2 23 . 3.12.10 rm cell timer this register is used to keep track of the last time that an abr rm cell was sent. its period should be 0.78 ms. length 32 bits type read/write address xxxx 127c power on reset value x ? 0000 00a2 ? restrictions this register should be written only at initialization time. reserved abr counter rate 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-24 reserved reserved. 23-0 abr counter rate this value will determine the rate at which the abr counter is advanced. length 32 bits type read/write address xxxx 126c power on reset value x ? 0000 0000 ? restrictions none reserved rm timer value 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-24 reserved reserved. 23-0 rm timer value timer value.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 257 of 706 3.12.11 csked lcd update data registers used to specify data to write into the lcd on the update lc operation. these registers contain the data used in the lc update operation. see 3.12.14 csked lcd read operation register on page 259. the second set of lcd update registers is meant for the core to use, but is available for general use. 3.12.12 csked lcd update mask registers used to specify data to write into the lcd on the update lc operation. these registers contain the mask used in the lc update operation. see csked lcd read operation register . the second set of lcd update registers is meant for the core to use, but is available for general use. length 32 bits type read/write address update1 xxxx 1300 update2 xxxx 130c power on reset value x ? 0000 0000 ? restrictions none length 32 bits type read/write address update1 xxxx 1304 update2 xxxx 1310 power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 258 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.13 csked lcd update operation registers used to specify the lcd word to update. this operation is used to update a portion of an lcd. if this opera- tion is not used, software or pnr updates of the lcd may be lost because the lcd is cached in the pnr while cells are being processed. this register is written with the address of the lcd word to update. once this register is written the update operation starts. all subsequent reads or writes to the data, mask, or update registers are held off until the operation completes. a read-modify-write will occur to update the portion specified by the mask with the masked value in the data register. normally this register would not be read. however, if it is read then the low order bit is read as ? 0 ? and the next lowest order bit (bit 1) is read as the busy bit. this signifies whether an operation is still going on. if an opera- tion is still going on, then a new write to any of the data, mask, or update operation registers is held off until the original operation is complete. the second set of lcd update registers is meant for the core to use, but is available for general use. length 32 bits type read/write address update1 xxxx 1308 update2 xxxx 1314 power on reset value x ? 0000 0000 ? restrictions the low order two bits are not writable.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 259 of 706 3.12.14 csked lcd read operation register this operation is used to specify the lcd word to read. this register is written with the adddress of the lcd word to read. once this register is written, the read oper- ation starts. it uses the update2 register of the csked lcd update data registers on page 257. all subse- quent reads or writes to the csked data, mask, or update registers are held off until the operation completes. the lowest order bit (bit 0) of this register is read as the busy bit. this signifies whether an operation is still going on. the read data will be valid in the update2 register of the csked lcd update data registers s after the busy bit is turned off. if an operation is still going on, then a new write to any of the data, mask, or update operation registers is held off until the original operation is complete. length 32 bits type read address xxxx1354 power on reset value x ? 0000 0000 ? restrictions the low order two bits are not writable.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 260 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.15 drop access control register each drop (4) has registers that can be used for debugging purposes and bandwidth limiting. to conserve address space, this register determines the drop for the register access. these registers are fast serviced counters, slow serviced counters, and priority bandwidth limit registers. this register must be rewritten whenever values for a different drop need to be read or written. length 32 bits type read/write address xxxx 1288 power on reset value x ? 0000 0000 ? restrictions none reserved drop 3130292827262524232221201918171615141312111098765432 1 0 bit(s) name description 31-2 reserved reserved. 1-0 drop this value represents the drop number or the above registers that will be accessed.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 261 of 706 3.12.16 performance registers this section contains registers that are for performance purposes. 3.12.16.1 high priority bandwidth limit register this register can be used to limit the bandwidth used by high priority connections. bits 15-8 of this register specify the number of high priority cells that can be sent in a window specified by bits 7-0 of this register. if no data needs to be sent by lower priority connections, high priority connections will not be limited. length 32 bits type read/write address xxxx 1270 power on reset value x ? 0000 0000 ? restrictions none reserved cells transmitted cell times in window 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-16 reserved reserved. 15-8 high priority cells per time win- dow this value specifies the number of cells that can be transmitted from high priority connec- tions in one time window. 7-0 cell times per time window this value specifies the number of cell times in the window.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 262 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.16.2 medium priority bandwidth limit register this register can be used to limit the bandwidth used by medium priority connections. the upper eight bits of this register specify the number of medium priority cells that can be sent in a window specified by the lower eight bits of this register. if no data needs to be sent by low priority connections, medium priority connections will not be limited. length 32 bits type read/write address xxxx 1274 power on reset value x ? 0000 0000 ? restrictions none reserved cells transmitted cell times in window 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-16 reserved reserved. 15-8 medium priority cells per time window this value specifies the number of cells that can be transmitted from medium priority con- nections in one time window. 7-0 cell times per time window this value specifies the number of cell times in the window.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 263 of 706 3.12.16.3 low priority bandwidth limit register this register can be used to limit the bandwidth used by low priority connections. the upper eight bits of this register specify the number of low priority cells that can be sent in a window specified by the lower eight bits of this register. 3.12.16.4 high priority cells transmitted counter this register contains the number of cells transmitted from high priority connections. length 32 bits type read/write address xxxx 1278 power on reset value x ? 0000 0000 ? restrictions none reserved cells transmitted cell times in window 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-16 reserved reserved. 15-8 low priority cells per time win- dow this value specifies the number of cells that can be transmitted from low priority connec- tions in one time window. 7-0 cell times per time window this value specifies the number of cell times in the window. length 32 bits type read/write address xxxx 1260 power on reset value x ? 0000 0000 ? restrictions none number of high priority cells transmitted 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 high priority cells transmitted this value represents the number of cells transmitted from high priority connections.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 264 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.16.5 medium priority cells transmitted counter this register contains the number of cells transmitted from medium priority connections. 3.12.16.6 low priority cells transmitted counter this register contains the number of cells transmitted from low priority connections. length 32 bits type read/write address xxxx 1264 power on reset value x ? 0000 0000 ? restrictions none number of medium priority cells transmitted 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 medium priority cells transmitted this value represents the number of cells transmitted from medium priority connections. length 32 bits type read/write address xxxx 1268 power on reset value x ? 0000 0000 ? restrictions none number of low priority cells transmitted 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 low priority cells transmitted this value represents the number of cells transmitted from low priority connections.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 265 of 706 3.12.16.7 bytes queued counters these registers (12) contain the number of bytes queued for transmission for each priority (3) on each drop (4). the addresses are assigned to the range in the following order: length 32 bits type read/write address high priority, port 0 xxxx 1290 high priority, port 1 xxxx 1294 high priority, port 2 xxxx 1298 high priority, port 3 xxxx 129c medium priority, port 0 xxxx 12a0 medium priority, port 1 xxxx 12a4 medium priority, port 2 xxxx 12a8 medium priority, port 3 xxxx 12ac low priority, port 0 xxxx 12b0 low priority, port 1 xxxx 12b4 low priority, port 2 xxxx 12b8 low priority, port 3 xxxx 12bc power on reset value x ? 0000 0000 ? restrictions none number of bytes waiting to be transmitted 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 bytes queued this value represents the number of bytes waiting to be transmitted for each priority on each drop.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 266 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.17 debugging register access this section contains registers that are for debug purposes only. these registers need not be written or read during normal operations. 3.12.17.1 fast serviced counters there are three fast serviced counters, one for each transmit priority: high, medium, and low. these registers contain the value of the last fast time slot that has been serviced. when this count differs from the current timeslot count, at least one fast slot needs servicing. each time the fast slot is serviced, this counter will incre- ment. length 32 bits type read/write address high priority xxxx 1240 medium priority xxxx 1244 low priority xxxx 1248 power on reset value x ? 0000 0000 ? restrictions these registers are meant to be read only. they are writable for diagnostic pur- poses only. reserved fast serviced counters 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 reserved reserved. 15-0 fast serviced counters this value represents how many times this time wheel has been serviced since the counter rolled over.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 267 of 706 3.12.17.2 slow serviced counters there are three slow serviced counters, one for each transmit priority: high, medium, and low. these regis- ters contain the value of the last slow time slot that has been serviced. when this count differs from the cur- rent timeslot count, at least one slow slot needs servicing. each time the slow slot is serviced, this counter will increment. length 32 bits type read/write address high priority xxxx 124c medium priority xxxx 1250 low priority xxxx 1254 power on reset value x ? 0000 0000 ? restrictions these registers are meant to be read only. they are writable for diagnostic pur- poses only. reserved slow serviced counters 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 32-10 reserved reserved. 9-0 slow serviced counters this value represents how many times this slow wheel has been serviced since the counter rolled over.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 268 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.17.3 timer serviced counters in addition to the counters above, there is an additional counter for processing timer requests. these regis- ters contain the value of the last timer slot serviced. when this count differs from the current timeslot count (bits 22-15), at least one slow slot needs servicing. each time a timer slot is serviced, this counter will incre- ment. length 32 bits type read/write address xxxx 1280 power on reset value x ? 0000 0000 ? restrictions this register is meant to be read only. it is writable for diagnostic purposes only. reserved service count 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-16 reserved reserved. 15-0 service count this value represents how many times this timer wheel has been serviced since the counter rolled over.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 269 of 706 3.12.17.4 csked status register this register is used to indicate status for csked. length 32 bit type clear/set address xxxx 1228 and 122c power on reset value x ? 0000 0000 ? restrictions none reserved current timeslot counter 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-1 reserved reserved. 0 current timeslot counter current timeslot counter has wrapped. if this bit is on, the timeslot counter has wrapped.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 270 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.17.5 csked interrupt enable register this register allows the user to enable interrupts for each of the conditions reported in the csked status register . each bit corresponds to the same bit in the status register and when set to ? 1 ? generates an interrupt from csked to intst if the condition is detected. length 32 bit type clear/set address xxxx 1238 and 123c power on reset value x ? 0000 0000 ? restrictions none reserved enables interrupts 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-1 reserved reserved. 0 interrupt enable when this bit is on and the corresponding bit in the csked status register is on, an interrupt is generated.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 271 of 706 3.12.17.6 csked timing data array pointer the csked timing data array contains data relevant to scheduling cells. it contains 96 32-bit words. it should only be written for diagnostic purposes to test the array. it will power up to all zeros and should be rewritten to zeros after the array has been tested. this register points to an offset in the csked timing data array for accesses from the pci bus. this register must be loaded with the correct offset before the desired data can be read from the csked timing data array data register. this register will auto-increment after each access to the associated data register. when the last address is accessed, this register wraps to zero. length 32 bits type read/write address xxxx 12c0 power on reset value x ? 0000 0000 ? restrictions none reserved offset into csked timing data array not used 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-9 reserved reserved. 8-2 array offset these bits provide an offset into the csked cell staging array for accesses from the pci bus. these bits provide access to the 256 unique four-byte locations in the array. access- ing the last location in the array will cause the address to wrap back around to the begin- ning of the array. 1-0 not used these bits are not implemented. they cannot be written and will always return ? 0 ? when read.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 272 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.17.7 csked timing data array data this register is used to access the array pointed to by the csked timing data array pointer. length 32 bits type read/write address xxxx 12c4 power on reset value restrictions should be written for diagnostic use only. initialize back to ? 0 ? s when through test- ing. access data 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 array data array data.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 273 of 706 3.12.17.8 csked time wheel array pointer the csked time wheel array contains data relevant to scheduling cells. it contains 16 k 19-bit words. it should only be written for diagnostic purposes to test the array. it will power up to all zeros and should be rewritten to zeros after the array has been tested. this register points to an offset in the csked time wheel array for accesses from the pci bus. this register must be loaded with the correct offset before the desired data can be read from the c sked time w heel array data register. this register will auto-increment after each access to the associated data register. when the last address is accessed, this register wraps to zero. length 32 bits type read/write address xxxx 12c8 power on reset value x ? 0000 0000 ? restrictions none reserved offset into csked not used 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-17 reserved reserved. 16-2 array offset these bits provide an offset into the csked cell staging array for accesses from the pci bus. these bits provide access to the 16 k unique 19-bit locations in the array. accessing the last location in the array will cause the address to wrap back around to the beginning of the array. 1-0 not used these bits are not implemented, they cannot be written and will always return ? 0 ? when read.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 274 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.17.9 csked time wheel array data this register is used to access the array pointed to by the csked time wheel array pointer. length 32 bits type read/write address xxxx 12cc power on reset value restrictions should be written for diagnostic use only. initialize back to zeros when through test- ing. reserved access data 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-19 reserved reserved. 18-0 array data array data.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 275 of 706 3.12.17.10 csked lcd cache array pointer the csked lcd cache array contains the transmit portion of lcds used by csked and segbf. it con- tains 160 32-bit words. it should only be written for diagnostic purposes to test the array. it will power up to all zeros and should be rewritten to zeros after the array has been tested. this register points to an offset in the lcd cache array for accesses from the pci bus. this register must be loaded with the correct offset before the desired data can be read from the lcd cache array data register. this register will auto-increment after each access to the associated data register. when the last address is accessed, this register wraps to zero. length 32 bits type read/write address xxxx 1318 power on reset value x ? 0000 0000 ? restrictions none reserved offset into csked lcd cache array not used 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-18 reserved reserved. 17-2 array offset these bits provide an offset into the csked cell staging array for accesses from the pci bus. these bits provide access to the 160 unique 32-bit locations in the array. accessing the last location in the array will cause the address to wrap back around to the beginning of the array. 1-0 not used these bits are not implemented. they cannot be written and will always return ? 0 ? when read.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 276 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.17.11 csked lcd cache array data this register is used to access the array pointed to by the csked lcd cache array pointer. 3.12.17.12 csked state machine variables register this register contains the current state of the three main state machines in this entity. length 32 bits type read/write address xxxx 131c power on reset value restrictions should be written for diagnostic use only. initialize back to zeros when through test- ing. access data 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 array data array data. length 32 bits type read only address xxxx 1258 power on reset value x ? 0000 0000 ? restrictions none reserved state machine variables 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-14 reserved reserved. 13-0 state machine information value of state machine variables.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 277 of 706 3.12.17.13 lcd cache lcd address registers these registers contain the addresses of the lcds that are currently available in the lcd cache. length 32 bits type read only address line 0 xxxx 1330 line 1 xxxx 1334 line 2 xxxx 1338 line 3 xxxx 133c line 4 xxxx 1340 line 5 xxxx 1344 line 6 xxxx 1348 line 7 xxxx 134c power on reset value x ? 0000 0000 ? restrictions none lcd address 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 lcd address the address of the lcd currently stored in the corresponding lcd cache line. since lcds are 128 byte aligned, bits 6-0 will always read ? 0000000 ? .
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 278 of 706 pnr261_14csked.fm.06 august 14, 2000 3.12.17.14 lcd cache state machine variables register this register contains state information about the lcd cache. length 32 bits type read only address xxxx 1320 power on reset value x ? 0000 0000 ? restrictions none state machine informatoin valid cache line bits state machine information 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-28 state machine information value of state machine variables. 27-20 valid cache line bits these bits indicate which of the lcd cache lines are valid. bit 27 corresponds to line 7, bit 26 to line 6, etc. 19-0 state machine information value of state machine variables.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_14csked.fm.06 august 14, 2000 transmit scheduler (csked) page 279 of 706 3.12.17.15 lcd cache lru state register this register contains information about the lru status of the 8 lines of the lcd cache. each nibble contains the encoded value of a cache line number. the highest nibble will indicate which cache line was least recently used while the lowest nibble will indicate which cache line was the most recently used. length 32 bits type read only address xxxx 1324 power on reset value x ? 0000 0000 ? restrictions none lru cache line lru -1 cache line lru -2 cache line lru -3 cache line lru -4 cache line lru -5 cache line lru -6 cache line mru cache line 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-28 lru cache line least recently used lcd cache line. 27-24 lru -1 cache line lru -1 cache line. 23-20 lru -2 cache line lru - 2 cache line. 19-16 lru -3 cache line lru - 3 cache line. 15-12 lru - 4 cache line lru - 4 cache line. 11-8 lru - 5 cache line lru - 5 cache line. 7-4 lru - 6 cache line lru - 6 cache line. 3-0 mru cache line most recently used cache line.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit scheduler (csked) page 280 of 706 pnr261_14csked.fm.06 august 14, 2000
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_15segbf.fm.06 august 14, 2000 transmit buffer segmentation (segbf) page 281 of 706 3.13 transmit buffer segmentation (segbf) the segbf logic consists of four input lcd address latches, two specialized processors and the associated rom/ram for each, a 16-cell array buffer, and various support logic. the input latches and cell buffers are logically divided into four different drops, with each drop consisting of an input latch and four cell buffers. under normal operation (csked providing lcd), the drop is defined by the drop field in the transmit lcd. when an lcd is enqueued by software, data bits five and six of the enqueued address define with which drop the enqueued lcd is associated. the four logical drops in segbf can be mapped to any of the physical link level addresses via registers in linkc (linkc map transmit ports to configuration). the processors fetch instructions from rom/ram and handle normal segmentation activity such as lcd update operations and cell generation functions. the type of cell that is generated by the segmentation logic is determined by the ini- tial instruction pointer that is contained in the lcd structure. for example, software can enqueue an lcd that has the initial instruction pointer field set for normal aal5 cells, and segbf will generate a single aal5 cell as a result of the enqueue operation. if, however, software enqueues an lcd that has the initial instruction pointer field set for pos-phy operation, then segbf will continue to generate buffers to pass to the link level until all the data has been exhausted. for a more complete description of the segmentation entry points, refer to the seg_prc_entry_point field in 7.3 transmit lcd data structures on page 678. after the buffers/cells are built in a 16-by-64 byte array, they are marked as available to the link level layer (linkt) in the pnr. a sim- plified block diagram is shown below. figure 13: segbf block diagram csked lcd interface software lcd enqueue interface drop 0 drop 1 drop 2 drop 3 lcd processor cell processor ram ram cell array drop 0 cell 0 drop 0 cell 1 drop 0 cell 2 drop 0 cell 3 drop 1 cell 0 drop 1 cell 1 drop 1 cell 2 drop 1 cell 3 drop 2 cell 0 drop 2 cell 1 drop 2 cell 2 drop 2 cell 3 drop 3 cell 0 drop 3 cell 1 drop 3 cell 2 drop 3 cell 3
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit buffer segmentation (segbf) page 282 of 706 pnr261_15segbf.fm.06 august 14, 2000 the sequence of events that happens when an aal5 frame is enqueued to segbf is as follows: 1. an initial check is made to determine if there is space available in the cell buffer. if no space is available, processing stops for this drop until a cell buffer is freed by the link logic (linkt). 2. when buffer space becomes available, the enqueued lcd address is requested from the transmit lcd cache (there are four entries in the lcd cache). the segmentation logic waits for a valid indication from the cache; at this time all lcd information is available to the segmentation logic on the lcd cache inter- face. 3. the initial instruction pointer (ip) is fetched from the lcd and loaded for both of the segmentation proces- sors. software controls what type of cells are generated by the segmentation logic by initializing this field in the lcd to the entry points defined for different types of cell generation. for a more complete descrip- tion of the segmentation entry points, refer to the seg_prc_entry_point field in 7.3 transmit lcd data structures on page 678. 4. assuming an aal5 entry point is setup in the lcd, the segmentation logic will first initiate a memory fetch of the data required to build the cell. 5. while the data fetch is in process, the segmentation processors will update various fields in the lcd including statistics and the next segmentation pointer. cell construction will be started using the atm header from the lcd. 6. when the payload data is available from memory, it is written to the cell buffer following the header. 7. if the segmentation logic determines that the current cell being assembled will be the last cell of this frame, the aal5 trailer is appended to the cell buffer, with any unused bytes being padded with zeros. 8. if the current cell is not the last of the frame, the partial crc is written back out to the lcd. 9. after the cell has been completed, it is marked as available to the link level logic.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_15segbf.fm.06 august 14, 2000 transmit buffer segmentation (segbf) page 283 of 706 3.13.1 segbf software lcd enqueue this register provides a mechanism for software to transmit a single cell or a group of cells making up a buffer that can contain any user-defined data at any time. to cause a cell/buffer to be transmitted, the software must write the address of a valid lcd control block to this register. the segmentation hardware will then construct a cell to match the aal type defined in the lcd control block, using the segmentation pointer contained in the lcd to fetch data and present this cell to the next lower level of hardware to transmit. this method of cell transmission bypasses the cell scheduler completely, so it is the responsibility of the software to ensure that peak and average rates are not violated. when the segmentation logic has completed building the cell/frame and queued it for transmission, the lcd address will be loaded into the software lcd complete register. this method of cell transmission is not designed for high performance and, as such, there is only a single level of queueing underneath the complete register. it is recommended that only a single software lcd be queued to the segmentation logic at any one time to prevent hanging the segmentation logic as it attempts to queue a complete software lcd to the complete queue. length 32 bits type read/write address xxxx 1400 power on reset value x ? 0000 0000 ? restrictions before enqueuing a vci, software must ensure that the previous software enqueue has been handled by the hardware. this is accomplished by reading this register before an enqueue is attempted. if a value of ? 0 ? is returned, the segmentation hard- ware is ready to accept an enqueue operation. if a non-zero value is returned, it will be the address of the previous vci that was enqueued and this indicates that the segmentation hardware has not been able to enqueue the vci to it ? s internal vci buffer segmentation queue. if this mechanism shows that this interface is busy and unable to accept new vci addresses for any appreciable amount of time (tens of s), it is likely that a condition exists which is preventing the hardware below the segmentation logic from accepting cells for transmission, and the segmentation log- ics input buffer is full. this mechanism also adds the restriction that a vci control block should never exist at address ? 0 ? . vci control block address drop cell type 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-7 vci control block address these bits contain the upper 25 bits of the address of the vci control block. 6-5 drop these bits define with which drop this enqueue operation will be associated. 4-0 cell type these bits control what type of cell will be built by the segmentation logic. there are cur- rently only two valid values for these bits. if these bits are all ? 0 ? , a normal cell as defined by the lcd will be built. if these bits have a value of ? 0x1f ? , an abr cell will be built using fields defined in the lcd.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit buffer segmentation (segbf) page 284 of 706 pnr261_15segbf.fm.06 august 14, 2000 3.13.2 segbf control register this register provides a mechanism to control the various programmable features of segbf. length 32 bits type clear/set address xxxx 1408 and 140c power on reset value x ? 9840 0000 ? restrictions none steer internal status to enstate outputs free enqueued buffer queue ? complete ? event pause at idle reserved drop priority reset segbf control logic # of buffers for ? not ready ? enable transmit complete logic disable lcd statistics wrapping ignore all requests from scked disable counter wraps enter segbf diagnostics mode 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-16 steer internal status to enstate outputs these bits are used to steer internal segbf status to the enstate outputs. 15 free enqueued buffer this bit, when set, will cause the segmentation processors to free a software enqueued buffer after the last cell has been generated. 14 queue ? complete ? event this bit, when set, will cause the segmentation processors to queue a transmit complete event after the last cell has been generated for a software enqueued frame. 13 pause at idle this bit, when set, will cause the segmentation logic to pause when it reaches the idle state. segmentation will not be continued until this bit has been reset. care must be taken to leave this bit set for a very short duration so that segmentation throughput will not be adversely affected. 12-10 reserved reserved. 9-8 drop priority these two bits define the prioritization scheme used by the segmentation logic to deter- mine for which drop to build a cell when running in frame mode. a value of ? 00 ? will pro- vide for equal priority among all drops: the drops will be processed in order from zero to three as long as data is available to segment and space is available in the cell buffer for the drop. a value of ? 01 ? will provide descending priority from drop 0 to drop 3. if data exists and a cell buffer is available for drop 0, a drop 0 cell will always be built regardless of the situation on any other drops. in this mode, a cell will only be built on drop three if all other drops either have no data or no cell buffer available. 7 reset segbf control logic this bit, when set, will reset all control logic in the entity. after being set, this bit must be reset before the segmentation logic will function properly. this bit must remain set for at least one microsecond to reset the segmentation logic properly.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_15segbf.fm.06 august 14, 2000 transmit buffer segmentation (segbf) page 285 of 706 6-5 number of buffers for ? not ready ? these two bits define the number of cell buffers that can be filled on a given drop before a not ready condition is returned to the cell scheduler. this addresses latency issues caused by multiple cells waiting for transmission by the lower link level. a value of ? 00 ? allows all four cell buffers to be used at any time; a value of ? 01 ? allows one cell buffer to be used; a value of ? 10 ? allows two cell buffers to be used, and a value of ? 11 ? allows three buffers to be used. 4 enable transmit complete logic this bit, when set, enables the transmit complete event modification logic in the segmen- tation processors. this logic will retrieve two bits from the xmit_comp_evnt_mod field in the lcd and logically or them with bits eight down to seven of the buffer address being enqueued to rxque. this logic only functions when buffer addresses are being queued; it will not modify the event if lcd addresses are being enqueued. this also adds the restriction that all buffer addresses must start on a 512-byte boundary or greater. 3 disable lcd statistics wrapping this bit, when set, disables the lcd statistics wrap events. 2 ignore all requests from csked this bit, when set, will cause all requests from the cell scheduler to be ignored. this allows complete program control of all cells being sent out on the external interface. 1 disable counter wraps this bit, when set, disables the programmable counter wrap events. 0 enter segbf diagnostics mode this bit, when set, causes the segbf entity to enter diagnostic mode. this bit must be set in order to access the internal array. when accessing the array, care must be taken that normal entity reads and writes of the array are not happening at the same time or the results will be indeterminate. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit buffer segmentation (segbf) page 286 of 706 pnr261_15segbf.fm.06 august 14, 2000 3.13.3 segbf status register this register provides feedback to the user on the current status of segbf. length 32 bits type clear/set address xxxx 1410 and 1414 power on reset value x ? 0000 0000 ? restrictions none reserved cell generation complete invalid condition detected 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-2 reserved reserved. 1 cell generation complete this bit, when set, indicates that the segmentation logic has completed cell generation for an lcd that was enqueued by the software to the software lcd enqueue register. 0 invalid condition detected this bit, when set, indicates that the segmentation logic has detected an invalid condition in one of the lcds that it was processing. the address of the lcd in error is contained in the invalid lcd register. any invalid lcds detected are not processed further by the seg- mentation logic, so the program must do something to clear this condition.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_15segbf.fm.06 august 14, 2000 transmit buffer segmentation (segbf) page 287 of 706 3.13.4 segbf invalid lcd register this register provides feedback to the program when the segmentation logic detects an invalid lcd. if multi- ple invalid lcds are being processed, this register will contain the address of the last one that was processed by the segmentation logic. there are several invalid lcd situations for which the segmentation logic checks. the first is the lcd address not being on the correct boundary. for example, if the chip is configured to have all lcds on 128-byte boundaries and an lcd is encountered that is not on a 128-byte boundary it is an invalid lcd situation. another invalid condition is when the transmit length configured in the lcd plus the off- set in the lcd when added together exceed the maximum overall packet size configured in the chip. it is up to the program to determine which of the possible conditions caused the error to be reported. length 32 bits type read/write address xxxx 1418 power on reset value x ? 0000 0000 ? restrictions none detected vcd error address reserved 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-7 detected vcd error address these bits contain the 32-bit address of the lcd detected to be in error. 6-0 reserved reserved. always read as ? 0 ? .
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit buffer segmentation (segbf) page 288 of 706 pnr261_15segbf.fm.06 august 14, 2000 3.13.5 segbf software lcd complete this register provides feedback to the program when the segmentation logic completes cell generation for an lcd that was enqueued by the software. after the segmentation logic has updated the lcd, the address of the lcd is copied into this register providing any previous lcd addresses written to this register have been read by the software. if multiple software queued lcds are outstanding to the segmentation logic at any time, the segmentation process can be delayed when multiple software enqueued lcds complete without the soft- ware getting a chance to read the lcd addresses from this register. to guarantee that the segmentation logic never has to wait for the software to read this register, it is recommended that only one software lcd be enqueued at any one time. length 32 bits type read/write address xxxx 141c power on reset value x ? 0000 0000 ? restrictions bits 4-1 are not implemented and will always return to ? 0 ? . to maintain future com- patibility, ? 0 ? s should be written to these bits. upper 25 bits of lcd address drop reserved last cell 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-7 upper 25 bits of lcd address these bits contain the upper 25 bits of the lcd address that the segmentation logic has finished processing. 6-5 drop these bits indicate the drop on which the cell was sent. 4-1 reserved reserved. these bits will read back as ? 0 ? . 0last cell this bit will be set when the cell that was built was the last cell of a frame and reset if the cell that was built was not the last cell of a frame.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_15segbf.fm.06 august 14, 2000 transmit buffer segmentation (segbf) page 289 of 706 3.13.6 segbf interrupt enable register this register allows the user to enable interrupts for each of the conditions reported in the segbf status register . each bit corresponds to the same bit in the status register and when set to ? 1 ? generates an interrupt from segbf to intst if the condition is detected. length 32 bits type clear/set address xxxx 1420 and 1424 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-2 reserved reserved. 1-0 interrupt enables when one of these bits is on and the corresponding bit in the segbf status register on page 286 is on, an interrupt is generated.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit buffer segmentation (segbf) page 290 of 706 pnr261_15segbf.fm.06 august 14, 2000 3.13.7 segbf programmable counters this register provides the user with feedback on the number of times that a particular event or condition has occurred in the segmentation logic. the event or condition that causes this counter to increment is defined by the associated segbf programmable counter source specification register. when the counter wraps, an event is generated. length 32 bits type read/write address counter 0 xxxx 1430 counter 1 xxxx 1434 counter 2 xxxx 1438 counter 3 xxxx 143c counter 4 xxxx 1440 counter 5 xxxx 1444 counter 6 xxxx 1448 counter 7 xxxx 144c power on reset value x ? 0000 0000 ? restrictions none count of occurrences 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-0 event count these bits contain a count of the occurrences of the desired event or condition.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_15segbf.fm.06 august 14, 2000 transmit buffer segmentation (segbf) page 291 of 706 3.13.8 segbf transmit lcd size this register should be loaded with the number of 8-byte words that are needed for the maximum-sized lcd that will be setup by software. refer to the previous section describing lcd layout to determine the number of words required to support the different modes. the minimum value is six. this is the correct value when run- ning only aal5 mode; it includes three words of scheduling information, two words shared between csked and segbf, and one word for segbf to maintain statistics. setting this register to a value that is too small will likely cause the chip to function improperly. setting this register to a value that is too large will adversely affect performance. length 32 bits type read/write address xxxx 1488 power on reset value x ? 0000 0006 ? (this is the correct value when running aal5 with statistics.) restrictions minimum is x ? 6 ? , maximum is x ? a ? reserved number of words 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-4 reserved reserved. 3-0 transmit lcd size these bits contain the number of 8-byte words in the lcd to be used by the transmit logic.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit buffer segmentation (segbf) page 292 of 706 pnr261_15segbf.fm.06 august 14, 2000 3.13.9 segbf cell queue status this register indicates the number of cells queued up for transmission over the media. segbf can have a maximum of 16 cells queued up for transmission: four cells on each of four drops. when a bit is set to ? 1 ? , the corresponding cell buffer contains a cell that has not been completely processed by the link logic. length 32 bits type read only address xxxx 148c power on reset value x ? 0000 0000 ? restrictions none reserved incomplete cell in drop 3 incomplete cell in drop 2 incomplete cell in drop 1 incomplete cell in drop 0 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-16 reserved reserved. 15-12 cells pending on drop 3 these bits indicate which cell buffers contain cells that have not been processed by the link level for drop 3. 11-8 cells pending on drop 2 these bits indicate which cell buffers contain cells that have not been processed by the link level for drop 2. 7-4 cells pending on drop 1 these bits indicate which cell buffers contain cells that have not been processed by the link level for drop 1. 3-0 cells pending on drop 0 these bits indicate which cell buffers contain cells that have not been processed by the link level for drop 0.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_15segbf.fm.06 august 14, 2000 transmit buffer segmentation (segbf) page 293 of 706 3.13.10 segbf processor 1 control/status reading this register provides feedback to the user on the current state of segmentation processor 1. writing the appropriate bits in this register causes processor 1 to begin executing at a new location specified in the data that was written. length 32 bits type read/write address xxxx 14a0 power on reset value x ? 0000 c000 ? restrictions none reserved load ip 1 halt processor 1 reset processor 1 reserved instruction pointer 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 reserved reserved. 15 load ip 1 writing ? 0 ? to this bit causes the instruction pointer (ip) for processor 1 to be loaded with the data in bits 8-0. this bit will immediately be set back to ? 1 ? after the ip load completes. 14 halt processor 1 writing ? 0 ? to this bit halts processor 1. writing ? 1 ? makes the processor fetch and execute instructions. 13 reset processor 1 setting this bit to ? 1 ? resets processor 1. 12-9 reserved reserved. 8-0 instruction pointer when written, these 9 bits contain the new ip for processor 1. when read, these bits reflect the current ip for processor 1.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit buffer segmentation (segbf) page 294 of 706 pnr261_15segbf.fm.06 august 14, 2000 3.13.11 segbf processor 2 control/status reading this register provides feedback to the user on the current state of segmentation processor 2. writing the appropriate bits in this register causes processor 2 to begin executing at a new location specified in the data that was written. length 32 bits type read/write address xxxx 14a4 power on reset value x ? 0000 c000 ? restrictions none reserved load ip 2 halt processor 2 reset processor 2 reserved instruction pointer 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 reserved reserved. 15 load ip 2 writing a ? 1 ? to this bit will cause the instruction pointer (ip) for processor 2 to be loaded with the data in bits 8-0. this bit will immediately be set back to a ? 1 ? after the ip load com- pletes. 14 halt processor 2 writing a ? 0 ? to this bit will halt processor 2; writing a ? 1 ? will make the processor fetch and execute instructions. 13 reset processor 2 setting this bit to a ? 1 ? will reset processor 2. 12-9 reserved reserved. 8-0 instruction pointer when written, these nine bits contain the new ip for processor 2. when read, these bits reflect the current ip for processor 2.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_15segbf.fm.06 august 14, 2000 transmit buffer segmentation (segbf) page 295 of 706 3.13.12 segbf programmable counter source specification this register determines what event or condition will cause the associated counter to increment. length 32 bits type read/write address counter 0 x xxx 14b0 counter 1 x xxx 14b4 counter 2 x xxx 14b8 counter 3 x xxx 14bc counter 4 xxxx 1450 counter 5 xxxx 1454 counter 6 xxxx 1458 counter 7 xxxx 145c power on reset value counter 0 x ? 0000 0803 ? counter 1 x ? 0000 0903 ? counter 2 x ? 0008 0803 ? counter 3 x ? 0002 0203 ? counter 4 x ? 0000 0000 ? counter 5 x ? 0000 0000 ? counter 6 x ? 0000 0000 ? counter 7 x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit buffer segmentation (segbf) page 296 of 706 pnr261_15segbf.fm.06 august 14, 2000 reserved event source count all drops data byte mask byte specific drop offset 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-27 reserved reserved. 26-25 event source these bits select the source of the event to be counted. 00 selects the cell events that are further defined in bits 23-0 of this register. 01 selects the number of bytes transmitted on a given drop. 10 selects the number of frames transmitted on a given drop. the drop is selected by bits seven and six, or all drops can be included by setting bit 24. 24 count all drops this bit, when set, causes the counter to count the specified event for all drops, not just the drop specified in bits seven and six. 23-16 data byte these bits define the data byte that is compared to the result of logically anding the data byte being written to the cell array at the offset specified in bits 5-0 with the mask in bits 15-8. if there is an exact match, the counter will increment. 15-8 mask byte these bits define the mask byte to be logically anded with the data byte being written to the cell array. 7-6 specific drop these bits determine with which drop this counter is associated. 5-0 offset these bits define a byte offset into the cell being built in the segmentation cell array. zero corresponds to the first byte in the cell and 63 corresponds to the last byte in the cell. when the segmentation logic copies a byte of data into the cell array at this offset, the logic compares the byte defined in bits 23-16 to the logical and of the data being written and the mask defined in bits 15-8 of this register. if an exact match is detected, the counter will be incremented.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_15segbf.fm.06 august 14, 2000 transmit buffer segmentation (segbf) page 297 of 706 3.13.13 segbf cell staging array pointer this register points to an offset in the segbf cell staging array for accesses from the pci bus. this register must be loaded with the correct offset before the desired data can be read from the segbf cell staging array data register. this register will auto-increment after each access to the associated data register. when the last address is accessed, this register wraps to zero. 3.13.14 segbf cell staging array data this array is divided into 16 64-byte buffers used to assemble cells that are ready for transmission on the physical interface. length 32 bits type read/write address xxxx 14c0 power on reset value x ? 0000 0000 ? restrictions none reserved offset reserved 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-10 reserved reserved. 9-2 offset these bits provide an offset into the segbf cell staging array for accesses from the pci bus. these bits provide access to the 256 unique four-byte locations in the array. access- ing the last location in the array will cause the address to wrap back around to the begin- ning of the array. 1-0 reserved reserved. these bits are not implemented, they cannot be written and will always return ? 0 ? when read. length 32 bits type read/write address xxxx 14c4 power on reset value undefined restrictions this array can only be accessed when the diagnostic mode bit in the control regis- ter is set. accesses attempted when not in diagnostic mode will return x ? badd badd ? .
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit buffer segmentation (segbf) page 298 of 706 pnr261_15segbf.fm.06 august 14, 2000 3.13.15 segbf instruction sram pointer this register points to an offset in the segbf sram that is used to store processor instructions. this register must be loaded with the correct offset before the desired data can be read/written from/to the segbf instruc- tion sram data register. this register will auto-increment after each access to the associated data register. when the last address is accessed, this register wraps to zero. the first 256 locations in the array should be loaded with the instructions for processor 1, and the second 256 locations should be loaded with the instruc- tions for processor 2. length 32 bits type read/write address xxxx 14c8 power on reset value x ? 0000 0000 ? restrictions none reserved offset reserved 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-10 reserved reserved. 9-1 offset these bits provide an offset into the segbf instruction sram for accesses from the pci bus. these bits provide access to the 512 unique two-byte locations in the array. access- ing the last location in the array will cause the address to wrap back around to the begin- ning of the array. 0 reserved reserved. this bit is not implemented; it cannot be written and will always return ? 0 ? when read.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_15segbf.fm.06 august 14, 2000 transmit buffer segmentation (segbf) page 299 of 706 3.13.16 segbf instruction sram data this register address can be used to read/write the instruction data that is needed by the segmentation pro- cessors. all instructions must be written before the processors can be brought out of the halt state. 3.13.17 segbf mpeg-2 pcr increment register each tick of the time base will add the contents of this register to the mpeg pcr reference register. this register contains a fixed point number with 27 bits of fraction and five bits of units. this means that the exter- nal reference clock can range in speed from 22.5 khz to the maximum speed of this entity which is 66 mhz. assuming that the entity will run with a 50 mhz clock, the conversion to 720 khz can be done with an accu- racy of 1.1 parts in two million. (a clock of 19.4 mhz will give a conversion accuracy of one part in 4.9 million.) if the input clock is 19.4 mhz, the value to put in the increment register is (720,000 / 19,400,000) * 2 27 or 4,981,277. if the input clock is 33 mhz, the value to put in the increment register is (720,000 / 16,666,666) * 2 27 or 5,798,206. length 32 bits type read/write address xxxx 14cc power on reset value undefined restrictions this array can only be accessed when the processors are in the halt state. reads attempted when the processor is in run mode will return invalid data. writes attempted when the processor is in run mode will be ignored. bit(s) name description 31-16 reserved reserved. 15-0 instruction data segbf processor instructions. length 32 bits type read/write address xxxx 1468 power on reset value x ? 002c 3c9f ? (33 mhz) restrictions none units fraction 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-27 integer increment value these bits contain the whole part of the increment value. 26-0 fractional increment value these bits contain the fractional part of the increment value.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit buffer segmentation (segbf) page 300 of 706 pnr261_15segbf.fm.06 august 14, 2000
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 301 of 706 3.14 cell/packet reassembly (reasm) reasm is the top level receive entity that encapsulates all of the receive sub-entities. note: the receive portion of the pnr is very different from previous versions of the processor. reasm no longer does hec correction or detection, since everything to which it interfaces already performs this func- tion. the following figure shows how reasm interacts with the other entities. reasm is made up of a number of sub-entities that provide the overall receive functionality. reasm contains the following sub-entities: figure 14: reasm entity interfaces rxbuf provides receive cell/packet buffering between linkc and r easm. also defines the port configurations and mappings. rxxlt provides general lcd translation facilities. rxcrc provides crc fac ilities. rxaal performs the cell and packet reassembly functions including aal processing and all cell and packet post-processing functions. rxlcd provides rx lcd caching for the reasm sub-entities. pools rxque dmaqs comet pakit intst pcint reasm linkr
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 302 of 706 pnr261_16reasm.fm.06 august 14, 2000 rxxlt, rxcrc, and rxaal form a cell processing pipeline. each st age is allowed up to a cell time to pro- cess the cell it is currently working on. this means each cell has the potential to have a three-cell time latency through the reasm entity. the overall performance should be at its maximum since a single cell completes processing every cell time. the stages are allowed to run faster if there is no blocking condition. the only blocking condition is the latency of memory accesses and the total length of the nano-program that needs to run. the following sections provide a brief description of each sub-entity and the function it provides. figure 15: reasm sub-entity block diagram pools rxque dmaqs comet pakit linkr rxxlt rxcrc rxlcd rxaal rxbuf reasm
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 303 of 706 3.14.1 miscellaneous reassembly functions 3.14.1.1 atm oam cell processing when processing an atm data stream, oam cell processing may be necessary. this function is enabled when bits 11-8 of the reasm reassembly modes register are set, and it can be optionally enabled on a per port basis. as cells arrive for processing, the nanocode works together with some dedicated logic to discrimi- nate among different types of oam cell traffic. each type that is discriminated produces a different event when traffic is surfaced to a receive queue. in table 18: oam cell processing and handling , the first column lists the types that are discriminated, and the second column lists the event that is produced when traffic is surfaced to a receive queue. the rxcrc and rxaal nanocode understand and process oam traffic in different ways when enabled. control bits in the receive lcd allow the user to specify on a per connection basis how the oam traffic should be handled: with either a routed connection or a terminated one.  a routed connection is a raw lcd that is fast forwarded, including raw mode with early packet discard. when oam traffic is processed on a routed connection, the oam traffic can be fast forwarded or dropped based on the discrimination configuration bits in the receive lcd. a mask value of ? 0 ? fast forwards the cell, and a mask value of ? 1 ? drops the cell.  a terminated connection is any connection that terminates either cells or packets, including aal5 and packet lcds that are fast forwarded (because they are terminated before they are fast forwarded). when oam traffic is processed on a terminated connection, the oam traffic can be terminated or dropped based on the discrimination configuration bits in the receive lcd. a mask value of ? 0 ? terminates the cell, and a mask value of ? 1 ? drops the cell. whenever possible, a mask bit specific to the sub-type is used. for example, an f5 segment pm cell will use the ? segment pm cell ? mask bit. if one of the sub-types does not match, then a basic type mask bit is used (such as f4 end to end). there is a 16 bit oam mask field in the receive lcd. the mask bit assignments are listed in the third column of table 18. when an oam cell is processed, the configuration information from the rxaal oam lcd information regis- ter is used to make reassembly decisions such as which buffer pool or receive queue to use. the fourth col- umn of table 18 contains the event that is generated for each type of oam cell. table 18: oam cell processing and handling type of oam c ell configuration information from the rxaal oam lcd information register bit in the oammask field of the receive lcd (see receive lcd data structure and modes on page 692) event produced when traffic is surfaced to a receive queue reserved reserved 15 f4 segment vci = 0003 14 x ? 48 f4 end to end vci = 0004 13 x ? 49 ? f5 segment not f4 and pti field = 100 12 x ? 4a ? f5 end to end not f4 and pti field = 100 11 x ? 4b ? rm forward cell pti = 110 and dir = 0 10 x ? 4c ? rm backward cell pti = 110 and dir = 1 9 x ? 4d ?
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 304 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.1.2 tcp/ip receive checksum verification when enabled, the pnr is able to perform verification of the ip header checksum and the associated proto- col checksum for the user. the final checksum status is raised to the user in the packet header flags. this function is accomplished by the rxcrc entity using the crc nano-program. to enable and use the function, two things must be done:  tcp/ip checksum function must be enabled in the reasm mode register . this enables the overall func- tion and includes the checksum state words in the receive portion of the lcd.  specify a frame type in the frametype field of the receive lcd. this field specifies an entry point into the checksum verification nano-code. the entry point points to a piece of code that understands how to locate the ip header based on the current frame type. for example, a connection might be native ip over atm or lan emulation. note: other frame types can be added if needed. once properly enabled, tcp/ip checksums are verified as packets arrive. the status is raised to the user in the packet header using four bits of status (two bits for ip and two bits for protocol). the format and meanings of the bits are specified in section 7.1: packet header on page 673. for connections that have mixed traffic, the checksum operation is only run on packets that are recognized as tcp/ip. for example, on a lane eth connection packets of different protocols can be interleaved. 3.14.1.3 scatter/cut through receive processing the scatter/cut through support is very versatile and easy to use. scatter typically refers to scattering pages from a contiguous pnr buffer into multiple non-contiguous host pages. cut through refers to moving contigu- ous data from pnr buffers into contiguous storage in host memory. the functions are similar, and the terms pti reserved cell pti field = 111 8 x ? 4e ? end to end alarm end to end and oam type = 0001 func = 0000 or 0001 7x ? 4f ? segment alarm segment and oam type = 0001 func = 0000 or 0001 6x ? 4f ? end to end loopback end to end and oam type = 0001 func = 1000 5x ? 4f ? segment loopback segment and oam type = 0001 func = 1000 4x ? 4f ? end to end pm cell end to end and oam type = 0010 3 x ? 4f ? segment pm cell segment and oam type = 0010 2 x ? 4f ? end to end activate/deactivate cell end to end and oam type = 1000 1 x ? 4f ? segment activate/deactivate cell segment and oam type = 1000 0 x ? 4f ? table 18: oam cell processing and handling (continued) type of oam c ell configuration information from the rxaal oam lcd information register bit in the oammask field of the receive lcd (see receive lcd data structure and modes on page 692) event produced when traffic is surfaced to a receive queue
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 305 of 706 scatter and cut through may be interchanged in the following text since cut through is really a special case of scatter. the correct term is used when context requires it. the scatter processing is performed by rxaal along with rxque and dmaqs. the following items need to be set up:  set up dmaqs.  set up rxque. each queue used should have the proper event size selected, the direction set correctly, and timestamps and bcach advice disabled.  place page buffers or descriptors on the configured receive queues.  set the scatter configurations in the rxaal scatter/cut thr ough info registers.  set the scatter flags in the rxaal scatter/cut through flag registers.  set the ppmode field for each lcd that uses scatter to do scatter.  select a scatter configuration for each connection by setting the cutthrusel field in the receive lcd. once set up, the scatter mechanism is performed by r xaal for the user. there is user intervention r equired to process the packets when the scatter is complete, and for page recovery in error scenarios. there are many options when setting up scatter, and the selection of the type of scatter processing to perform depends on the user ? s environment. the basic scatter mechanism will be described followed by a discussion of the different options that can be used. when packets are received and scattered, the following structure shows the main components of the received packet: the dma list is maintained immediately after the pnr packet header, and before the receive packet data. for this reason, the user should allocate enough space between the packet header and the packet data to accommodate a maximum-sized dma list based on the maximum number of pages that could be dmaed. the rxoffset field in the receive lcd is where this offset is specified. the maximum receive offset is 256 bytes, which is specified with an rxoffset value of ? 0 ? . the following is the layout of the dma list: figure 16: general layout of a received packet in scatter mode struct scatterrxpacket { packetheader; // charm packet header dmalist; // scatter dma list padbytes; // pad out to receive offset from lcd packetdata; // actual receive packet };
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 306 of 706 pnr261_16reasm.fm.06 august 14, 2000 the first eight bytes are always present and are filled in when the packet is complete or when an error occurs. the actual page list is filled in as the data is dmaed. the first location is initially skipped and is filled in later when the header is dmaed. the second and subsequent entries are filled as each page is dmaed. each page list entry contains either physical page addresses, pnr-based dma descriptor addresses, or user data. whether a physical page address or dma descriptor address is present depends on the cut through configu- ration. from here on, the terms ? page address ? and ? dma descriptor ? are used interchangeably as either is valid based on the configuration, but the correct term is used when the context requires it. a page list entry can contain one or two pieces of information. each page list entry can be 32, 64, or 128 bits long. if using 32 bit addresses, then the entry is 32 or 64 bits. if using 64-bit addresses, then the entry is 64 or 128 bits. the first piece is always the page address or the dma descriptor address. each cut through config- uration allows the user to specify an optional second dequeue operation from the receive queue being used. this allows the user to place user information associated with the particular page address in the receive queue and the page list. thus, the corresponding virtual address of a page could be surfaced along with the physical page address. it is very important to enqueue information to the receive queue in the proper order if using this mode. the physical page address is first, followed by the user information. as the receive packet data is being received, it is dmaed as soon as a page crossing occurs if there is a dma descriptor available on the receive queue being used. if no descriptor is available, then no dma takes place until the next receive cell is received, at which time the receive queue availability is checked again. this catch-up process continues until the packet is complete. when the packet is complete, all dmas are sched- uled if page addresses are available. if a page address is not available, then a ? no dma descriptor available ? is surfaced to the user so the packet can be used and the dma list recovered. as each data page is dmaed to the user, a dma descriptor is formed and enqueued to the dmaqs dma queue specified in the cut through configuration. the dma descriptor is formed based on if page addresses or dma descriptor are provided on the receive queue being used. if pnr-based dma descriptors are being used, then the receive queue contains dma descriptor chains where the low order bits of the dma descriptor address specify how many descriptors are in the chain. typically, this chain length is one, but more can be used. the first descriptor in the chain provides the destination address (page address) which is filled in by the user. the source address, the length, and the flags are filled in by the pnr for the first descriptor in the chain. the source address is filled in with the beginning address of the page within the current receive buffer. the length is filled in with either the page size (if a full page is present) or the number of bytes in the last page for the last page. the flags are filled in using the flags from the appropriate rxaal - scatter/cut through flag figure 17: general layout of a scatter dma list struct dmalist { bit16 numheadbytes; // number of bytes included with header dma bit16 numtailbytes; // number of bytes in last dma page bit1 deqlocked; // error status bit1 deqinvalid; // " bit1 headertruncated; // " bit1 baddmalist; // " bit4 deqlockedqueuenum; // " bit16 reserved; bit2 cutthrusel; // copy of cutthrusel used from receive lcd bit6 numpages; // number of page entries that follow (max=63) bit32 pagelist[n]; // actual dma descriptors or page addresses // note: each entry can be 32, 64, or 128 // bits wide };
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 307 of 706 registers. if physical page addresses are contained in the receive queue, then a single dma descriptor is formed by dmaqs directly in dma queue storage using the page address and the same information that would have been filled into the dma descriptor. generally, using page addresses performs better but is less versatile. normally no dma event is generated in the flags when pages are dmaed. when the last cell of a packet is received, and all the data pages have been dmaed, the packet header and dma list are updated and dmaed into a header buffer. the mechanism and configuration of the header buffer is similar to the pages, but separate configuration is usually necessary for correct functionality. for example, different flags are normally used in order to get an event for the header dma so the user can process the packet. the header dma normally frees the pnr buffer; another difference is the page (or buffer) size used for headers is normally different than the normal page size. some of the optional features described later also drive having different configuration for the header dmas. once the user gets the event for the header dma, the user processes the received packet using the dma list and the packet header. once the packet has been processed, the pages or descriptors need to be returned to the proper receive queue when the pages can be reused, thus completing the scatter processing. there are several ways of getting that important event to start the receive processing. usually the event is generated when the last header dma is complete. if dma descriptors are being used, then there are two choices. first, the normal dma flag that generates an event can be used. this generates an event with the dma descriptor address in the significant bits. while this works and may be desirable in some environments, the dma descriptor needs to be read in order to get access to the host header buffer address. the second way to generate an event when using descriptors is to provide a second dma descriptor in the dma descrip- tor chain that enqueues the header buffer address and a user-defined event in the lower order bits. generat- ing an event in this manner provides the user with the buffer address; the header dma descriptor address is available in the header buffer as part of the dma list. when using page addresses, the event source in the cut through configuration should be set to use the desti- nation address as the event data. when this is done, the event data contains the header buffer address as in the second case above. error recovery there are two types of error that need to be handled. first, if there is no error on the receive packet and a page address was not available, then the packet is surfaced to the user with a ? no dma descriptor available ? event in the event type field and the pnr buffer address in the event information field. the user has a choice at this point. the packet is good so it can be used or freed by the user. in either case, the dma list in the packet header must be recovered. so if the dma list in the header is not used, it should be recovered by returning it to the proper receive queues. the event surfaced specifies which type of page address failed so the user can parse the dma list properly. the event will specify whether a normal page descriptor, optional header descriptor, or packet header descriptor was received. the same descriptor recovery must be per- formed when an error event is surfaced (that is, crc error). when there is an error event, no packet header dma is performed so no packet header descriptor is in the dma list. scatter options most of the optional scatter features have to do with the header bytes and how the header dma is performed. the numheadbytes field in the dma header specifies the number of header bytes that are available. the location of the header bytes in the dma buffers can be configured. the default is that they are kept with the packet header and dma list in the packet header buffer. for this case, the user should be sure the packet header buffer size is large enough to contain all of this data.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 308 of 706 pnr261_16reasm.fm.06 august 14, 2000 alternatively, the header bytes can be placed in a separate buffer. to do this, split header mode should be enabled in the cut through configuration. this buffer is referred to as the optional header page and uses its own page size and receive queue to allow for better storage utilization. when enabled, the second entry in the dma list becomes the optional header page entry, and should be treated accordingly for page recovery. in split header mode, the header bytes are dmaed as soon as they are all received. this mode is useful if the user environment requires the header bytes to be in a separate buffer from the packet header and dma list. another optional feature is to dma the header only. this feature is enabled in the cut through configuration. when enabled, only the packet header, dma list, and header bytes are dmaed. either a single dma or two dmas occur based on if the optional header feature is enabled. this feature can be useful when a routing decision needs to be made for a packet and the entire packet does not need to be brought into host storage. another possible scenario is the header bytes may determine how the user wants to dma the packet data to the host. for smaller packet sizes, such as less than 2 kb, it may be more efficient to perform a single dma and keep the packet header, dma list, and packet data in a single buffer. to do this, single page mode should be enabled in the cut through configuration. when enabled, the header page size is used to determine the dma behavior. if a packet completes and the total length of the packet and headers will fit in the header page size, then a single dma is performed. if the data length exceeds the single page size as it is being received, the data is scattered using the normal options (might need to catch up). this feature can be useful for optimizing user processing for small packets. head bytes there are two ways to set the number of head bytes. they are set on a per connection basis in the receive lcd using the numheadbytes and usecrcnumhead fields. when the usecrcnumhead field is set to ? 0 ? , the numheadbytes field provides a fixed number of bytes that is used as the number of header bytes. when use- crcnumhead field is set to ? 1 ? , then the rxcrc nano code will calculate the number of header bytes using the frametype field to index an ip procedure. currently, rxcrc will only set the number of header bytes for recognized tcp/ip headers. other headers can be recognized. contact ibm technical support to discuss requirements.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 309 of 706 3.14.2 reasm 3.14.2.1 reasm logical channel descriptor base register the reasm logical channel descriptor base register indicates the starting address of the logical channel descriptor table. this register defines where the logical channel descriptors are located. length 32 bits type read/write address xxxx 1618 power on reset value x ? 0000 8000 ? restrictions the value must be in the range of the physical memory allocated for control mem- ory. lcd table base address 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-0 lcd table base address these bits define where the logical channel descriptors are located.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 310 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.2.2 reasm mode register this register is used to set the reasm and sub-entity modes and contains the mode bits that specify how reasm is to operate. length 32 bits type clear/set address xxxx 1610 and 1614 power on reset value x ? 0000 0000 ? restrictions none rxaal mode bits rxcrc mode bits rxxlt mode bits reserved reset receive logic disable counter overflow events rxrto free buffer enable tcp/ip checksums diagnostic mode 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-28 rxaal mode bits rxaal code specific mode bits. 27-24 rxcrc mode bits rxcrc code specific mode bits. 23-8 rxxlt mode bits rxxlt code specific mode bits. each nibble is for a port. bits 23-20 are rxxlt mode bits 3-0 for port 3, bits 19-16 are rxxlt mode bits 3-0 for port 2, bits 15-12 are for port 1, and bits 11-8 are for port 0. 7-5 reserved reserved. 4 reset receive logic reset receive logic. 3 disable counter overflow events disable counter overflow events. 2 rxrto free buffer when set, a buffer that times out is freed and the event will contain the lcd address instead. 1 enable tcp/ip checksums when set, tcp/ip checksum verification is enabled. when enabled, the receive lcd data structure includes the ip state. 0 diagnostic mode when set, reasm is placed in diagnostic mode.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 311 of 706 3.14.2.3 reasm reassembly modes register this register contains the mode bits that specify different reassembly modes. length 32 bits type clear/set address xxxx 1630 and 1634 power on reset value x ? 0000 0000 ? restrictions none reserved enable new rm events enable oam cell discrimination reserved congestion bit source clp source disable aal5 length checking disable aal5 crc checking disable aal5 cpi checking 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-13 reserved reserved. 12 enable new rm events when set, the new rm cell events are enabled, and the abr event routing register is ignored. this allows separate events for forward and backward rm cells, but routes the events to the general oam cell receive queue. 11-8 enable oam cell discrimination when set, the oam processing is enabled for ports 0-3. when cleared, oam cells are not discriminated. 7 reserved reserved. 6-5 congestion bit source specify which congestion bit source to use if doing routing. values are: 00 use value from lcd routed lcd ptr field 01 use ored congestion value (or last in case of cell) 10 use value from last cell 4-3 clp source specify which clp source to use if doing routing. values are: 00 use value from lcd routed lcd ptr field 01 use ored clp value (or last in case of cell) 10 use value from last cell. 2 disable aal5 length checking when set, the aal5 trailer length field is not checked. 1 disable aal5 crc checking when set, the aal5 trailer crc is not checked. 0 disable aal5 cpi checking when set, the aal5 trailer cpi bytes are not checked against zero.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 312 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.2.4 reasm status register this register contains the status bits for the reasm sub-entities. it is used to surface reasm and sub-entity status. length 32 bits type clear/set address xxxx 1600 and 1604 power on reset value x ? 0000 0000 ? restrictions none reserved rxbuf cell buffer thrshd exceeded bad lcd receive offset detected rxque dequeue state mach. locked bad lcd update operation rxaal nano status rxcrc nano status rxxlt drop 3 nano status rxxlt drop 2 nano status rxxlt drop 1 nano status rxxlt drop 0 nano status 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-28 reserved reserved. 27 rxbuf cell buffer threshold exceeded. this bit is set when the number of receive cell buffers exceeds the threshold set in the rxbuf receive buffer threshold. this bit is persistent and must be reset by software after being set. 26 bad lcd receive offset detected this bit is set when a receive lcd is used that does not have a good receive offset. either the receive offset does not allow enough room for the configured packet header, or there is not enough room for the dma list entry that would have been written. 25 rxque dequeue state machine locked this bit is set when an rxque dequeue operation is attempted in order to get a piece of user data for the dma list and there is no data available. when using two pieces of data in a dma list entry, both must be available. 24 bad lcd update operation this bit is set when a receive lcd update was attempted on an offset that falls in the transmit portion of the lcd, or when an lcd that is out of range is updated. 23-20 rxaal nano status these bits can be set from the rxaal nano code. 19-16 rxcrc nano status these bits can be set from the rxcrc nano code. 15-12 rxxlt drop 3 nano status these bits can be set from the rxxlt nano code for drop 3. 11-8 rxxlt drop 2 nano status these bits can be set from the rxxlt nano code for drop 2. 7-4 rxxlt drop 1 nano status these bits can be set from the rxxlt nano code for drop 1. 3-0 rxxlt drop 0 nano status these bits can be set from the rxxlt nano code for drop 0.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 313 of 706 3.14.2.5 reasm interrupt enable register this register is used to enable interrupts for reasm status conditions. when set, the corresp onding status condition generates an interrupt from reasm to intst. 3.14.2.6 reasm debug state selector register this register selects which entity states are surfaced. use this register only under the advice of ibm technical support. length 32 bits type clear/set address xxxx 1608 and 160c power on reset value x ? 0000 0000 ? restrictions none status interrupt 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 interrupt enables when one of these bits is on and the corresponding bit in the reasm status register on page 312 is on, an interrupt is generated. length 2 x 32 bits type read/write address xxxx 1620- 1624 power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 314 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.3 rxbuf 3.14.3.1 rxbuf functional description rxbuf provides the cell/packet buffering mechanism between linkr and the rest of reasm. the buffering provides enough storage for sixteen 64-byte cells and the associated control information for each cell buffer. linkr writes the cell/packet data and control information into the buffers. the buffering mechanism is then exposed to the remainder of the r easm sub-entities for r eading. the cell buffers are sequenced in order regardless of on which port the received cells arrive. thus, a total of 16 cells of buffering exists and is used as a shared 16-cell fifo. figure 18: rxbuf block diagram read interface to rxxlt read interface to sub-entities done rxbuf 16 entry cell info 16 64-byte cell buffers asynchronous boundary with linkr clst(16-0) ovrs rest clst(16-0) ovrs sop eop err portid(4-0) cfgid(1-0) celllen(6-0) addr(6-3) clps addr(6-0) data963-0) wrtic wrtc
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 315 of 706 3.14.3.2 rxbuf cell data buffer address this register provides the read/write address for accessing the cell data buffer. when the rxbuf cell data buffer read/write port is read/written, this register is auto-incremented. when the last address is read/writ- ten, the address rolls over to zero. 3.14.3.3 rxbuf cell data buffer read/write port this register provides read/write access to the receive cell data buffer. the array is divided into sixteen 64- byte buffers used to buffer/assemble cells received from the line. when this register is read/written, the address provided by the rxbuf cell data buffer address register is used to select the array word to be accessed. the rxbuf cell data buffer address is auto-incremented on each read/write. thus, this port can be read/written multiple times to read/write the entire array. length 32 bits type read/write address xxxx 1640 power on reset value x ? 0000 0000 ? restrictions low two bits are always zero. bit(s) name description 31-11 reserved reserved. 10-0 cell data buffer address auto-incremented when the rxbuf cell data buffer port is read or written. rolls over to zero when the last address is read or written. length 256 words x 32 bits type read/write address xxxx 1648 power on reset value x ? 0000 0000 ? restrictions the array can only be accessed in diagnostic mode. if not in diagnostic mode, zero is returned on reads and writes are silently ignored.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 316 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.3.4 rxbuf cell info buffer address this register provides the read/write address for accessing the cell information buffer. when the rxbuf cell info buffer read/write port is read/written, this register is auto-incremented. when the last address is read/ written, the address rolls over to zero. length 32 bits type read/write address xxxx 1644 power on reset value x ? 0000 0000 ? restrictions low two bits are always zero. bit(s) name description 31-6 reserved reserved. 5-0 cell information buffer address auto-incremented when the rxbuf cell information buffer read/write port is read or written. rolls over to zero when the last address is read or written.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 317 of 706 3.14.3.5 rxbuf cell info buffer read/write port this register provides read/write access to the receive cell info buffer. the array is divided into 16 areas used to provide information about each received cell from linkr. when this register is read/written, the address provided by the rxbuf cell info buffer address is used to select the array word to be accessed. the rxbuf cell info buffer address is auto-incremented on each read/write. thus, this port can be read/writ- ten multiple times to read/write the entire array. 3.14.3.6 rxbuf receive buffer threshold this register provides a method to monitor the number of cell buffers in use. the value of this register com- pared against the number of active cell buffers. when this threshold is exceeded, the status is raised in the reasm status register. length 16 words x 32 bits type read/write address xxxx 1650 power on reset value x ? 0000 0000 ? restrictions the array can only be accessed in diagnostic mode. if not in diagnostic mode, zero is returned on reads and writes are silently ignored. length 32 bits type read/write address xxxx 1660 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-5 reserved reserved. 4-0 receive buffer threshold compared to the number of active cell buffers. when the number of active cell buff- ers is greater than the value in this field, bit 27 in the reasm status register on page 312 is set.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 318 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.4 rxxlt 3.14.4.1 rxxlt functional description rxxlt is the first stage in the cell processing pipeline. rxxlt provides general lcd translation facilities and link level statistics. these are provided via a nano-processor and nano-programs. up to four unique drops/ports can be supported, each with a unique configuration. each port is able to run a unique nano-program to do lcd address translation. for example, one port may be a packet-based phy using 64-byte segments with ppp lcd translation, and another port may be an atm cell based phy. the drop/config number (0-3) along with the port id is passed to rxxlt from rxbuf/linkr. the drop number (0-3) is used to specify which nano-program is executed by rxxlt to translate cell/packet information into an lcd address. this is different from previous versions of the processor which had a fixed lcd translation mechanism. rxxlt instruction formats are not defined here and are ibm confidential. rxxlt uses the resulting lcd address to load the lcd cache for the next stage of the pipeline. the lcd address and cell buffer address are passed to rxcrc upon completion of processing. there are a number of degrees of freedom in the lcd translation. generally, the nano program performs the following steps:  gathers bytes from the cell buffer.  checks errors and the fields of the default lcd.  selects and shifts appropriate bits to form an lcd translate table index  reads the lcd translate table to access an lcd index  generates the lcd address from the lcd index and the lcd base address there are eight general purpose registers per phy drop and four drops. these eight registers contain values that the nano-code uses, and are available on a per port basis. for example, the lcd translate table addresses would reside in these registers (this is different from previous versions of the processor where these registers were at fixed addresses). other items that might reside in these registers are default/error lcd addresses, compare values, and masks. because these are general purpose registers, multiple lcd tables or multiple default lcds can be specified. one quarter of the total registers are available to each port, so there can be an lcd translate table (etc.) for each port. the total lcd translate tables and lcd table sizes are only limited in size by the amount of memory that is available to the pnr. the lcd indexes are limited to 16 bits, and lcd addresses are always 128-byte aligned. figure 19: rxxlt block diagram pools get interface cm read interface rxlcd interface xlate nano processor lcd translation cache rxcrc rxbuf interface interface
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 319 of 706 the lcd translation code must execute in one cell time in order to run at full bandwidth. the only variable portion of the code execution time is the reads to pnr memory when reading the lcd translation table. thus, while a double lookup is possible, it may not meet the time constraints of running at full bandwidth. the following pseudo code shows some of the types of lcd translations that are possible using the nano- processor. note: the following do not imply types/numbers of instructions needed, but the different variable names imply different general purpose registers are being used, so variables are specified on a per port basis. in the following code there are shift, mask, and compare values that are not specified. these are values that would be customizable at run time. these will be customized via the general purpose registers. the following code uses nomenclature that matches the pnr (zero-based big endian). so bit(1) in a comm spec might be bit(0) in the following code. the comments use spec nomenclature so the two can be matched. figure 20: standard atm atmh = read 4 bytes from rxbuf at offset 0 -- read the atm header from cell if non_user_data { -- non-user data as specified in pti lcdaddr = defaultlcd -- field is handled by the deafult lcd return } tblindex = (atmh and vcimask) >> 4 -- gather pertinent vci bits tblindex |= ((atmh and vpimask) >> x) -- gather pertinent vpi bits -- x depends on num of vci bits used if non-masked bits on { -- check for out of range out of range counter++ -- update counter if mode(x) { -- if configured to flush out of flush cell -- range cells flush and we are done } else { lcdaddr = errorlcdaddr } return } if tblindex == 0 { -- check for zero id zero id counter++ -- update counter if mode(x) { -- if configured to flush zero id flush cell -- cells flush and we are done } else { lcdaddr = errorlcdaddr } return } lcdindex = lookup(lcdtable, tblindex) -- read index from cm using tableindex lcdaddr = lcdbase + lcdindex*128 -- calc lcd addr from index
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 320 of 706 pnr261_16reasm.fm.06 august 14, 2000 figure 21: ppp label = read 4 bytes from rxbuf at offset 0 if label == 0xff030021 { read 1 bytes from rxbuf at offset 4 -- read the ip header version (5th byte) if ipver_headerlgt == 0x45 { tblindex = read byte from offset 5 -- read qos field (6th byte) lcdindex = lookup(lcdtable, tblindex) -- read index from cm using tableindex lcdaddr = lcdbase + lcdindex*128 -- calc lcd addr from index } else { lcdaddr = defaultportlcd -- use port default lcd } } else { lcdaddr = defaultportlcd -- use port default lcd } figure 22: q.922 2 byte addressing head = read 2 bytes from rxbuf at offset 0 -- read the header (network bytes 0-1) if (bit(0) == 1) && (bit(8) == 0) { -- ea bits indicate two byte addr -- byte 0 bit 1 == 0 && byte 1 bit 1 == 1 tblindex = (head and dlcimask0) >> x -- gather 6 of 10 dlci bits from byte 0 tblindex |= ((head and dlcimask1) >> x) -- gather 4 of 10 dlci bits from byte 1 lcdindex = lookup(lcdtable, tblindex) -- read index from cm using tableindex lcdaddr = lcdbase + lcdindex*128 -- calc lcd addr from index } else { lcdaddr = errorlcdaddr -- not a two byte addr } figure 23: q.922 4 byte addressing head = read 4 bytes from rxbuf at offset 0 -- read the header (network bytes 0-3) if (bit(0) == 1) && (bit(8) == 0) && -- ea bits indicate four byte addr (bit(16) == 0) && (bit(24) == 0) { -- byte 0 bit 1 == 0 && byte 1 bit 1 == 0 && -- byte 2 bit 1 == 0 && byte 3 bit 1 == 1 if dcbit == 1 { -- check for dc bit being set lcdaddr = defaultportlcd -- and surface on default port lcd } else { -- gather 16 least significant dlci bits tblindex = (head and dlcimask1) >> x -- gather 3 dlci bits from byte 1 tblindex |= ((head and dlcimask2) >> x)-- gather 7 dlci bits from byte 2 tblindex |= ((head and dlcimask3) >> x)-- gather 6 dlci bits from byte 3 lcdindex = lookup(lcdtable, tblindex) -- read index from cm using tableindex lcdaddr = lcdbase + lcdindex*128 -- calc lcd addr from index } } else { lcdaddr = errorlcdaddr -- not a four byte addr }
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 321 of 706 figure 24: funi 2.0 2 byte addressing head = read 2 bytes from rxbuf at offset 0 -- read the header (network bytes 0-1) if (bit(0) == 1) && (bit(8) == 0) { -- ea bits indicate two byte addr -- byte 0 bit 1 == 0 && byte 1 bit 1 == 1 if (bit(2) == 0) && (bit(9) == 0) { -- fid1 & fid2 == 0 (byte 0 bit 2 & byte 1 bit 3) tblindex = (head and famask1) >> x -- gather 6 of 10 fa bits from byte 0 tblindex |= ((head and famask0) >> x) -- gather 4 of 10 fa bits from byte 1 lcdindex = lookup(lcdtable, tblindex) -- read index from cm using tableindex lcdaddr = lcdbase + lcdindex*128 -- calc lcd addr from index } else { lcdaddr = defaultportlcd -- otherwise surface on port default lcd } } else { lcdaddr = errorlcdaddr -- not a two byte addr } figure 25: funi 2.0 4 byte addressing head = read 4 bytes from rxbuf at offset 0 -- read the header (network bytes 0-3) if (bit(0) == 1) && (bit(8) == 0) && -- ea bits indicate four byte addr (bit(16) == 0) && (bit(24) == 0) { -- byte 0 bit 1 == 0 && byte 1 bit 1 == 0 && -- byte 2 bit 1 == 0 && byte 3 bit 1 == 1 if (bit(18) == 0) && (bit(25) == 0) { -- fid1 & fid2 == 0 (byte 0 bit 2 & byte 1 bit 3) -- gather 16 vpi/vci bits tblindex = (head and vcimask0) >> 1 -- gather x vci bits from byte 3 tblindex = (head and vcimask1) >> x -- gather x vci bits from byte 2 tblindex = (head and vcimask2) >> x -- gather x vci/vpi bits from byte 1 tblindex = (head and vpimask3) >> x -- gather x vpi bits from byte 0 lcdindex = lookup(lcdtable, tblindex) -- read index from cm using tableindex lcdaddr = lcdbase + lcdindex*128 -- calc lcd addr from index } else { lcdaddr = defaultportlcd -- otherwise surface on port default lcd } } else { lcdaddr = errorlcdaddr -- not a four byte addr }
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 322 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.4.2 rxxlt register array address port this register provides the read/write address for accessing register array. when the rxxlt register array read/write port is read/written, this register is auto-incremented. when the last address is read/written the address rolls over to zero. 3.14.4.3 rxxlt register array read/write port this register provides read/write access to the register array. the array is divided into four groups of eight registers. each group is associated with a receive port (0-3). so each nano-program has eight registers avail- able. these registers have intended uses and also serve as the link level counters, so they are not general purpose registers. when this register is read/written, the address provided by rxxlt register array address port is used to select the array word to be accessed. rxxlt register array address port is auto-incremented on each read/ write. thus, this port can be read/written multiple times to read/write the entire array. length 32 bits type read/write address xxxx 1680 power on reset value x ? 0000 0000 ? restrictions low two bits are always zero. bit(s) name description 31-7 reserved reserved. 6-0 register array address auto-incremented when the rxxlt register array read/write port is read or writ- ten. rolls over to zero when the last address is read or written. length 32 words x 32 bits type read/write address xxxx 1688 power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 323 of 706 3.14.4.4 rxxlt processor state selector this register allows the user to select which data should be accessed with the rxxlt processor state read/ write port. an encoded selector is provided for accessing internal processor registers and state via reads/ writes to the rxxlt processor state read/write port. 3.14.4.5 rxxlt processor state read/write port this register provides read/write access to the internal state of the processor. the internal processor state is externalized for debug and testing reasons. see the description of 3.14.4.4: rxxlt processor state selector on page 323 for definitions of the addresses. length 32 bits type read/write address xxxx 1698 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-4 reserved reserved. 3-0 state information selector the following are the meanings of the encoded values: 0000 accumulator register 0001 header register 0010 lcd index register 0011 reserved 0100 reserved 0101 flags 0110 reserved 1111 instruction ptr length 32 bits type read/write address xxxx 169c power on reset value x ? 0000 0000 ? restrictions processor state can only be set in diagnostic mode.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 324 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.4.6 rxxlt instruction array address port this register provides the read/write address for accessing the instruction array. when the rxxlt instruction array read/write port is read/written, this register is auto-incremented. when the last address is read/written, the address rolls over to zero. 3.14.4.7 rxxlt instruction array read/write port this register provides read/write access to the instruction array. the instruction array is divided into four groups of 32 entries. each group is associated with a receive port (0-3) so a nano-program can be loaded for each active port. when this register is read/written, the address provided by the rxxlt instruction array address port is used to select the array word to be accessed. the rxxlt instruction array address port is auto-incremented on each read/write. thus, this port can be read/written multiple times to read/write the entire array. length 32 bits type read/write address xxxx 1684 power on reset value x ? 0000 0000 ? restrictions low two bits are always zero. bit(s) name description 31-9 reserved reserved. 8-0 instruction array address auto-incremented when the rxxlt instruction array read/write port is read or writ- ten. rolls over to zero when the last address is read or written. length 128 words x 32 bits type read/write address xxxx 1690 power on reset value x ? 0000 0000 ? restrictions none, but the instruction stream of an active nano-program should not be written. bit(s) name description 31-20 reserved reserved. 19-0 load/read instructions load/read nano-program instructions.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 325 of 706 3.14.4.8 rxxlt last lcd index register these registers provide the previous lcd index that was used for the corresponding port. length 32 bits type read/write address port 0 xxxx 16a0 port 1 xxxx 16a4 port 2 xxxx 16a8 port 3 xxxx 16ac power on reset value x ? 0000 0000 ? restrictions can only be written in diagnostic mode. bit(s) name description 31-16 reserved reserved. 15-0 previous lcd index used index of the lcd that was previously used by rxxlt on the port corresponding to this register.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 326 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.5 rxcrc 3.14.5.1 rxcrc functional description rxcrc is the second stage in the cell processing pipeline. it performs the atm crc-32 (ethernet fcs) and atm crc-10 functions if necessary. rxcrc gets lcd type, state, and seed information from the lcd cache, and updates the cache on completion. the results are passed to rxaal upon completion, along with the lcd address. 3.14.5.2 rxcrc instruction array address port this register provides the read/write address for accessing the instruction array. when rxcrc instruction array read/write port is read/written, this register is auto-incremented. when the last address is read/written, the address rolls over to zero. figure 26: rxcrc block diagram length 32 bits type read/write address xxxx 16c4 power on reset value x ? 0000 0000 ? restrictions low two bits are always zero. bit(s) name description 31-10 reserved reserved. 9-0 instruction array address auto-incremented when the rxcrc instruction array read/write port is read or written. rolls over to zero when the last address is read or written. rxlcd interface crc-32 generation logic rxbuf interface crc-10 generation logic rxcrc interface rxxlt interface
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 327 of 706 3.14.5.3 rxcrc instruction array read/write port this register provides read/write access to the instruction array. the instruction array contains a single nano- program. when this register is read/written, the address provided by rxcrc instruction array address port is used to select the array word to be accessed. the rxcrc instruction array address port is auto-incre- mented on each read/write. thus, this port can be read/written multiple times to read/write the entire array. 3.14.5.4 rxcrc processor state selector this register allows the user to select which data should be accessed with the rxcrc processor state read/write port. an encoded selector is provided for accessing internal processor registers and state via reads/writes to the rxcrc processor state read/write port. length 256 words 32 bits type read/write address xxxx 16d0 power on reset value x ? 0000 0000 ? restrictions none, but the instruction stream of an active nano-program should not be written. bit(s) name description 31-24 reserved reserved. 23-0 load/read instructions load/read nano-program instructions. length 32 bits type read/write address xxxx 16d8 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-3 reserved reserved. 2-0 state information selector the following are the meanings of the encoded values: 000 accumulator register 001 header register 010 reserved 011 reserved 100 reserved 101 flags 110 reserved 111 instruction ptr
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 328 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.5.5 rxcrc processor state read/write port this register provides read/write access to the internal state of the processor. the internal processor state is externalized for debug and testing reasons. see the description of 3.14.5.4: rxcrc processor state selec- tor on page 327 for definitions on the addresses. 3.14.5.6 rxcrc last lcd index register this register provides the previous lcd index that was used. length 32 bits type read/write address xxxx 16dc power on reset value x ? 0000 0000 ? restrictions processor state can only be set in diagnostic mode. length 32 bits type read/write address xxxx 16e0 power on reset value x ? 0000 0000 ? restrictions can only be written in diagnostic mode. bit(s) name description 31-16 reserved reserved. 15-0 lcd index index of the last lcd used by rxcrc.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 329 of 706 3.14.5.7 rxcrc checksum protocol registers these registers provide additional protocol bytes for which checksum calculations should be enabled. the first register allows up to four protocols to be enabled with headers that are similar to udp and tcp which use a pseudo-header. the second register allows up to four protocols to be enabled with headers that are similar to icmp (no pseudo header). ip, udp, tcp, v4 icmp, and v6 icmp are recognized automatically and should not be specified again in these registers. each byte specifies a different protocol. length 2 x 32 bits type read/write address checksum type: with header xxxx 16e4 checksum type: with no header xxxx 16e8 power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 330 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.6 rxaal 3.14.6.1 rxaal functional description rxaal performs the cell and packet reassembly functions. these include the aal processing and moving cell data and packet headers to packet memory. the nano-program uses state and configuration information from the lcd cache to perform the necessary function for each cell. the nano-processor is capable of executing programs to run the following types of reassembly:  aal5  aal3/4  raw cells  non-user data (may be same as raw)  packets  mpeg fifo mode rxaal also performs the cell/packet post processing step. this includes event generation to rxque, cut through processing, scatter processing, and dma enqueues. figure 27: rxaal block diagram rxlcd interface rxbuf interface aal nano processor rxque interface rxcrc interface dmaqs interface pm write interface
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 331 of 706 3.14.6.2 rxaal instruction array address port this register provides the read/write address for accessing the instruction array. when the rxaal instruction array read/write port is read/written, this register is auto-incremented. when the last address is read/written, the address rolls over to zero. 3.14.6.3 rxaal instruction array read/write port this register provides read/write access to the instruction array. the instruction array contains a single nano- program. when this register is read/written, the address provided by the rxaal instruction array address port is used to select the array word to be accessed. the rxaal instruction array address port is auto-incre- mented on each read/write. thus, this port can be read/written multiple times to read/write the entire array. length 32 bits type read/write address xxxx 1704 power on reset value x ? 0000 0000 ? restrictions bits 1-0 are always zero. bit(s) name description 31-11 reserved reserved. 10-0 instruction array address auto-incremented when the rxaal instruction array read/write port is read or writ- ten. rolls over to zero when the last address is read or written. length 512 words x 32 bits type read/write address xxxx 1710 power on reset value x ? 0000 0000 ? restrictions none, but the instruction stream of an active nano-program should not be written. bit(s) name description 31-24 reserved reserved. 23-0 load/read instructions load/read nano-program instructions.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 332 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.6.4 rxaal processor state selector this register allows the user to select which data should be accessed with the rxaal processor state r ead/ write port. an encoded selector is provided for accessing internal processor registers and state via reads/ writes to the rxaal processor state read/write port. length 32 bits type read/write address xxxx 1718 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-3 reserved reserved. 2-0 state information selector the following are the meanings of the encoded values: 000 accumulator register 001 header register 010 reserved 011 reserved 100 reserved 101 flags 110 reserved 111 instruction ptr
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 333 of 706 3.14.6.5 rxaal processor state read/write port this register provides read/write access to the internal state of the processor. the internal processor state is externalized for debug and testing reasons. see the description of 3.14.5.4: rxcrc processor state selec- tor on page 327 for definitions of the addresses. 3.14.6.6 rxaal last lcd index register this register provides the previous lcd index that was used. length 32 bits type read/write address xxxx 171c power on reset value x ? 0000 0000 ? restrictions processor state can only be set in diagnostic mode. length 32 bits type read/write address xxxx 1720 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-16 reserved reserved. 15-0 lcd index last lcd index rxaal used.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 334 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.6.7 rxaal transmit queue length compression configuration this register allows the user to configure how the transmit queue lengths should be compressed for use in the receive packet header. csked provides 12 transmit queue lengths specified in bytes. a 32-bit register (see 3.12.16.7: bytes queued counters on page 265) is available for the high, medium, and low priority queues for each of the four phy ports. using the full counts in the receive packet header generally uses too much room. this register allows the user to configure how this information should be compressed for use in the receive packet header. length 32 bits type read/write address xxxx 1730 power on reset value x ? 0000 0000 ? restrictions none bit(s) description 31-4 reserved reserved. 3-0 transmit queue length compres- sion configuration the following are the options: 0000 use the full register representation for port zero only (three 32-bit words) 0001 use the 2-k scaled representation for port zero only (one 32-bit word) 0010 use the 4-k scaled representation for port zero only (one 32-bit word) 0011 use the 8-k scaled representation for port zero only (one 32-bit word) 0100 use the 16-k scaled representation for port zero only (one 32-bit word) 0101 use the 32-k scaled representation for port zero only (one 32-bit word) 0110 use the 64-k scaled representation for port zero only (one 32-bit word) 0111 use the 128-k scaled representation for port zero only (one 32-bit word) 1000 reserved 1001 use the 2-k scaled representation for all ports (three 32-bit words) 1010 use the 4-k scaled representation for all ports (three 32-bit words) 1011 use the 8-k scaled representation for all ports (three 3- bit words) 1100 use the 16-k scaled representation for all ports (three 32-bit words) 1101 use the 32-k scaled representation for all ports (three 32-bit words) 1111 use the 128-k scaled representation for all ports. (three 32-bit words) for example, using option ? 0001 ? , a single 32-bit word is used. the most sig- nificant byte contains the transmit queue length for the high priority queue for port zero divided by 2 k bytes. if the scaled count overflows (greater than 2k*0xff), a value of x ? ff ? is used. the next byte contains the scaled count for the medium priority queue, and the third byte contains the scaled count for the low priority queue. the least significant byte is not used. using option ? 1010 ? three 32-bit words are used. the first word contains the scaled counts for the high priority queue. the second word contains the scaled counts for the medium priority queue. the third word contains the scaled counts for the low priority queue. within each word, the first byte con- tains the scaled count for port zero, and the subsequent bytes are used for the other ports (1, 2, 3). the counts are divided by 4 k in this case.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 335 of 706 3.14.6.8 rxaal packet header configuration this register allows the user to configure the contents of each optional packet header word, and specify how many optional packet words are used. the contents of each optional packet header word are configured in the optional portion of the packet header. there are four possible configurations, and the configuration used is selected with the packheadsel field in the receive lcd. the first three words of the packet header are fixed, and up to seven additional words can be configured. the low nibble of this register specifies how many optional packet header words are used, and the remaining nib- bles of the register configure each packet header word if used. note: the base receive and transmit packet headers must be compatible if internal cell or packet routing is being used. the receive packet header becomes the transmit packet header in this scenario. user 0 and user 1 values can be used to place non-standard values in the packet header. these values are built by the nano-code, and are then placed in the packet header. in order to use these values, the nano-code must be customized. do this only under the advisement of ibm technical support. length 32 bits type read/write address config 0 xxxx 1740 config 1 xxxx 1744 config 2 xxxx 1748 config 3 xxxx 174c power on reset value x ? 0000 0000 ? restrictions none configure packet header word 3 configure packet header word 4 configure packet header word 5 configure packet header word 6 configure packet header word 7 configure packet header word 8 configure packet header word 9 reserved optional packet header words 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 336 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.6.9 rxaal error count register this register maintains a count of detected error conditions. for example, crc errors and other protocol types of errors are counted. this count is useful when the pnr is configured to only surface good packets. when this counter overflows, a counter overflow event is generated to rxque. bit(s) reserved description 31-28 configure packet header word 3 each nibble specifies what should be selected for the corresponding packet header word. the following are the options: 0000 start timestamp 0001 end timestamp 0010 atm header 2 0011 host data 0100 vba - virtual buffer address 0101 transmit queue length word 0 0110 transmit queue length word 1 0111 transmit queue length word 2 1000 user 0 1001 user 1 1010 aal5 trailer, two user bytes and the length 1011 vba with the number of header bytes in the low 10 bits 1100 reserved 27-24 configure packet header word 4 same definitions as bits 31-28. 23-20 configure packet header word 5 same definitions as bits 31-28. 19-16 configure packet header word 6 same definitions as bits 31-28. 15-12 configure packet header word 7 same definitions as bits 31-28. 11-8 configure packet header word 8 same definitions as bits 31-28. 7-4 configure packet header word 9 same definitions as bits 31-28. 3 reserved reserved. 2-0 optional packet header words specifies how many optional packet header words to use. length 32 bits type read/write address xxxx 1734 power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 337 of 706 3.14.6.10 rxaal dropped count register this register maintains a count of packets that are dropped due to a lack of resource. for example, if no pools buffer (real or virtual mode) is available, the packet is dropped and this counter is incremented. this count is useful when the pnr is configured to only surface good packets. when this counter overflows, a counter overflow event is generated to rxque. 3.14.6.11 rxaal maximum sdu length register this register specifies the maximum sdu size for a packet. this size includes only the protocol data length of the packet. for example, this length would be compared with the aal5 length field in the aal5 trailer. when a packet is completely received, this register is used to make sure it does not exceed the msdu specified. length 32 bits type read/write address xxxx 1738 power on reset value x ? 0000 0000 ? restrictions none length 32 bits type read/write address xxxx 173c power on reset value x ? 0000 ffff ? restrictions none bit(s) name description 31-18 reserved reserved. 17-0 maximum sdu size the protocol data length of the packet only.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 338 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.6.12 rxaal oam lcd information register this register specifies the reassembly information for oam cells. the format of this register is equivalent to word zero of the receive lcd. the following fields are valid: ppmode, size, storecrc10, rxqnum, rxpoolid, rxoffset, and cutthrusel. refer to the format of lcd word zero for raw receive lcds in 7.4: receive lcd data structure and modes on page 692. 3.14.6.13 rxaal scatter/cut through info registers these registers specify the scatter/cut through configurations. a configuration is selected in the lcd via the cut through selector field when doing cut through/scatter mode. a configuration consists of three registers. the first two registers, described here, define the four possible configurations for scatter/cut through. the third register, rxaal - scatter/cut through flag registers, is described in section 3.14.6.14: rxaal scatter/ cut through flag registers on page 342. the first register, one of cti(0-3), is defined as follows: scatter/cut through info register 1 length 32 bits type read/write address xxxx 172c power on reset value x ? 0000 ffff ? restrictions none length 32 bits type read/write address config 0 xxxx 1750 config 1 xxxx 1754 config 2 xxxx 1758 config 3 xxxx 175c power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 339 of 706 enable single page mode enable double deq enable header addresses enable optional header addresses event source dmaqs rxque to dequeue header header page size rxque to dequeue optional enable split header mode optional header page size rxque to dequeue page enable page addresses page size 313029282726252423222120191817161514131211109876543210 bit(s) name description 31 enable single page mode enable single page mode. see scatter options on page 307. 30 enable double dequeue enable double dequeue for packet header buffers to get virtual addresses. 29 enable header addresses enable header addresses vs. descriptor 1 addresses 0descriptor 28 enable optional header addresses enable optional header addresses vs. descriptor 1 addresses 0descriptor 27-26 event source specify how the event data (if any) is formed. normally, the dma descriptor is used for dma events, but when the entire dma descriptor is built there is no descriptor address to use. the following sources are possible: 00 use dma descriptor address (dma queue address where built) 01 use source address 10 use destination address 25-24 dmaqs dmaqs dma queue to enqueue dma descriptor to. 23-20 rxque to dequeue header rxque to dequeue header dma descriptor addresses from. 19-16 header page size specify the page size of the buffer that the header is dmaed into. the following encod- ings are used: 0 128 bytes 1 256 bytes 2 512 bytes 3 1k bytes 4 2k bytes 5 4k bytes 6 8k bytes 7 6k bytes 8 32k bytes 9 64k bytes 15-12 rxque to dequeue optional header rxque to dequeue optional header dma descriptor addresses from. 11 enable split header mode enable split header mode (optional header buffer).
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 340 of 706 pnr261_16reasm.fm.06 august 14, 2000 scatter/cut through info register 2 10-8 optional header page size specifies the page size of the buffer that the header is dmaed into. the following encod- ings are used: 0 64 bytes 1 128 bytes 2 256 bytes 3 512 bytes 4 1k bytes 5 2k bytes 6 4k bytes 7 8k bytes 7-4 rxque to dequeue page rxque to dequeue page dma descriptor addresses from. 3 enable page addresses enable page addresses vs. page descriptor. 1address 0descriptor 2-0 page size specifies the page size of the page buffers that the scatter pages are dmaed into. the following encodings are used: 0 512 bytes 1 1k bytes 2 2k bytes 3 4k bytes 4 8k bytes 5 16k bytes 6 32k bytes 7 64k bytes length 32 bits type read/write address config 4 xxxx 1770 config 5 xxxx 1774 config 6 xxxx 1778 config 7 xxxx 177c power on reset value x ? 0000 0000 ? restrictions none bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 341 of 706 reserved packet header optional header page dequeue size enable double dequeue for optional header enable double dequeue for page buffers enable header only dma optional header flags 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-22 reserved reserved. 21 packet header packet header dequeue size: 032 bit 164 bit 20 optional header optional header dequeue size: 032 bit 164 bit 19 page dequeue size page dequeue size: 032 bit 164 bit 18 enable double dequeue for optional header enable double dequeue for optional header buffers to get virtual addresses. 17 enable double dequeue for page buffers enable double dequeue for page buffers to get virtual addresses. 16 enable header only dma enable header only dma. when set, only the header bytes as specified in the lcd or from rxcrc will be dmaed along with the dma list and packet header. 15-0 optional header flags optional header flags. these flags are used when dmaing the optional header page.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 342 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.6.14 rxaal scatter/cut through flag registers these registers specify the scatter/cut through flags. a flag register is selected in the lcd via the cut through selector field when doing cut through/scatter mode. the flags are used when building dma descriptors for scatter pages and the first scatter buffer (packet header, dma list, etc.). length 32 bits type read/write address config 0 xxxx 1760 config 1 xxxx 1764 config 2 xxxx 1768 config 3 xxxx 176c power on reset value x ? 0000 0000 ? restrictions none header flags page flags 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-16 header flags these flags are used when dmaing the packet header, dma list, and header bytes from the packet. 15-0 page flags these flags are used when dmaing a scatter page (other than the header page).
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 343 of 706 3.14.7 rxlcd 3.14.7.1 rxlcd functional description rxlcd provides an lcd cache for reasm sub-entities. this cache holds the last four receive lcds. the sub-entities can request to load an lcd, read the lcd words, and update parts of the lcd. 3.14.7.2 rxlcd cache data array address port this register provides the read/write address for accessing the lcd cache data array. when the rxlcd cache data array read/write port is read/written, this register is auto-incremented. when the last address is read/written, the address rolls over to zero. the cache is organized as sixty-four 32-bit words. each 16 words comprises an lcd. the first four words and the last word of each lcd do not contain valid data and cannot be written. these locations return zero on reads. figure 28: rxlcd block diagram length 32 bits type read/write address xxxx 1780 power on reset value x ? 0000 0000 ? restrictions the low two bits are always zero. bit(s) name description 31-6 reserved reserved. 5-0 lcd cache data array address auto-incremented when the rxlcd cache data array read/write port is read or written. rolls over to zero when the last address has been read or written. rxcrc lcd cache cm read/write interface rxaal rxrto rxxlt interface interface interface interface
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 344 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.7.3 rxlcd cache data array read/write port this register provides read/write access to the lcd cache data array. when this register is read/written, the address provided by the rxlcd cache data array address port is used to select the array word to be accessed. the rxlcd cache data array address port is auto-incremented on each read/write so this port can be read/written multiple times to read/write the entire array. the cache is organized as sixty-four 32-bit words. each 16 words comprises an lcd. the first four words and the last word of each lcd do not contain valid data and cannot be written. these locations return zero on reads. 3.14.7.4 rxlcd cache line info registers these registers provide the cache line tags, valid, and dirty bits. there is a register for each of the four cache lines. length 64 words x 32 bits type read/write address xxxx 1788 power on reset value x ? 0000 0000 ? restrictions must be in diagnostic mode to read/write the cache. length 4 x 32 bits type read/write address xxxx 17a0-17ac power on reset value x ? 0000 0000 ? restrictions must be in diagnostic mode to write these registers. valid dirty lru reserved lcd index 313029282726252423222120191817161514131211109876543210 bit(s) name description 31 valid this bit indicates if the cache line is valid. 30-20 dirty these bits indicate which, if any, sections of the cache line have been modified. 19-17 lru these bits are the least recently used (lru) bits that are used to determine which cache line can be replaced when a new line needs to be loaded. 16 reserved reserved. 15-0 lcd index index of lcd in this cache line.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 345 of 706 3.14.7.5 rxlcd mode register this register provides a means to control cache operation. length 32 bit type read/write address xxxx 17b8-17bc power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-1 reserved reserved. 0 flush all entries when set, all dirty entries are flushed to memory but remain in the cache. this bit will reset when the operation is complete.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 346 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.8 rxrto 3.14.8.1 rxrto functional description rxrto performs periodic reassembly timeout processing and lcd update operations. 3.14.8.2 reassembly timeout (rto) processing reassembly timeout processing is generally an aal5 operation. it is supported for other lcd types as well. it can be enabled on an lcd basis by turning on the rto enable bit in the lcd. the following registers also need to be properly set up to run rto processing:  rxrto rto lcd table bound registers  rxrto reassembly timeout value register  rxrto reassembly timeout pre-scaler register see the register descriptions for more register details. the lcd table registers define the lcd table that the rto process examines. the value register is used as a compare value against a counter that counts based on a pre-scaler. each time the registers compare, rto processing is started for a single lcd and the time base is reset. rto processing checks the rto test and set bit. if the rto test and set bit is reset, rto processing sets it and continues. if the rto test and set bit is set, then a timeout occurs and the lc is placed in an error state and the current packet is surfaced to the user via an event. any resource associated with the packet must be recovered by software. for example, if the lcd is setup to use scatter mode, then there may be scatter dma pages in the dma list that need to be returned to the proper receive queue. the rto bit is reset with each inbound cell received. an lcd needs to be touched twice to cause a timeout (once to set it and once to detect that it is already set). the time base starts running as soon as the rto processing is complete. thus, rto processing is a low pri- ority task. shutting down an lcd to shut down a receive lcd, the following steps should be followed:  clear the entry for this lcd in the lcd table (to stop receiving cells for this lcd).  do an lcd update operation that sets the lcd state to down .  read the lcd r easm ptr.  if reasm ptr is non-zero and lcd is set up to do cut through, be sure to free any dma descriptor that was added with cut through operation.  if reasm ptr is non-zero and lcd is set up to do scatter, be sure to free any pages in the dma list. figure 29: rxrto block diagram rto nano processor pm read/write interface rxlcd interface rxque pools interface interface
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 347 of 706  if reasm ptr is non-zero, free it to pools. 3.14.8.3 rxrto lcd update data registers these two registers are used to specify data to write into the receive lcd on the update lc operation. they contain the data used in the lc update operation. for more information on their use, see the 3.14.8.5: rxrto lcd update op registers on page 348. the update date register changes to contain the updated data written to the lc word while the operation is completing. the second set of lcd update registers is meant for the core to use, but is available for general use. 3.14.8.4 rxrto lcd update mask registers these two registers are used to specify which data to write into the lcd on the update lc operation. they contain the mask used in the lc update operation. for more information on their use, see the 3.14.8.5: rxrto lcd update op registers on page 348. the second set of lcd update registers is meant for the core to use, but is available for general use. length 32 bits type read/write address update 1 register xxxx 17c0 update 2 register xxxx 17d0 power on reset value x ? 0000 0000 ? restrictions none length 32 bits type read/write address update 1 register xxxx 17c4 update 2 register xxxx 17d4 power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 348 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.8.5 rxrto lcd update op registers these registers are used to specify the lcd word to update. this operation is used to update a portion of the receive lcd. if this operation is not used, then software or the pnr updates of the lcd may be lost because the receive lcd is cached in the pnr. this register is written with the address of the lcd word to update. once this register is written, the update operation starts. all subsequent reads or writes to the data, mask, or update registers are held off until the operation completes. a read-modify-write will occur to update the portion specified by the mask with the masked value in the data register. normally this register would not be read. however, if it is read then the low order bit is read as ? 0 ? and the next lowest order bit (bit 1) is read as the busy bit. this signifies whether an operation is still going on. if an opera- tion is still going on, then a new write to any of the data, mask, or update operation registers is held off until the original operation is complete. the second set of lcd update registers is meant for the core to use, but is available for general use. length 32 bits type read/write address update 1 register xxxx 17c8 update 2 register xxxx 17d8 power on reset value x ? 0000 0000 ? restrictions the low order two bits are not writable.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_16reasm.fm.06 august 14, 2000 cell/packet reassembly (reasm) page 349 of 706 3.14.8.6 rxrto rto lcd table bound registers these registers are used to specify the lower/upper bounds of the lcd table. the lower bound should be ini- tialized to the lcd index of the first lcd in the lcd table if reassembly timeout processing is to be done. the upper bound should be initialized to the lcd index of the last lc in the lc table if reassembly timeout pro- cessing is to be done. 3.14.8.7 rxrto reassembly timeout value register these registers are used to specify the time interval used for reassembly timeout processing. this register is the number of pre-scaler intervals between reassembly processing. the pre-scaler interval is determined by the rxrto reassembly timeout pre-scaler register. a single lc is checked for reassembly timeout during each reassembly processing interval. when this register is set to ? 0 ? , reassembly timeout processing is disabled. for more information on how reassembly timeout conditions are processed see 3.14.8.2: reassembly time- out (rto) processing on page 346. length 32 bits type read/write address lower bound 1 register xxxx 17e0 upper bound 1 register xxxx 17e4 lower bound 2 register xxxx 17f0 upper bound 2 register xxxx 17f4 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-16 reserved reserved. 15-0 lcd table bounds if doing reassembly timeout processing, these bits should be set as follows: if setting a lower bound register, set these bits to the lcd index of the first lcd in the lcd table. if setting an upper bound register, set these bits to the lcd index of the last lc in the lc table. length 32 bits type read/write address timeout 1 register xxxx 17e8 timeout 2 register xxxx 17f8 power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary cell/packet reassembly (reasm) page 350 of 706 pnr261_16reasm.fm.06 august 14, 2000 3.14.8.8 rxrto reassembly timeout pre-scaler register this register determines the number of 15 ns intervals between rto timer ticks. the value in the register plus 1 is the number of 15 ns intervals between rto timer ticks. thus, the default value of ? 0 ? means that the rto timer ticks every 15 ns. if a value of nine is placed in this register, the rto timer ticks every 150 ns (10 * 15 ns). for more information on how reassembly timeout conditions are processed, see 3.14.8.2: reassembly time- out (rto) processing on page 346. length 32 bits type read/write address prescale 1 xxxx 17ec prescale 2 xxxx 17fc power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-16 reserved reserved. 15-0 rto timer tick interval the value in these bits plus 1 is the number of 15 ns intervals between rto timer ticks.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 351 of 706 3.15 receive queues (rxque) 3.15.1 functional description rxque has a single function: to manage the receive queues for software by providing an easy to use primi- tive interface. when talking about the receive queues, ? rxq ? refers to a receive queue, ? deq ? refers to a dequeue operation, and ? enq ? refers to an enqueue operation. 3.15.2 rxque interface a group of 16 receive queues is available for software use. the receive queues hold events or user specified data. each queue entry (event) is either 32 or 64 bits and contains two fields: event-identifier and event-informa- tion. the seven least significant bits in the entry contain the event-identifier field. the most significant bits in the entry comprise the event-information field. warning: in order to maintain the atomicity of 64-bit atomic transfers, the user must ensure that 64-bit trans- fers are bus atomic within the particular bus system in which the pnr is being used. the receive queues are maintained by rxque with the following operations being available to software:  dequeue - remove the entry at the head of the queue  enqueue - add an arbitrary entry at the tail of the queue the following figure shows how events in a receive queue link to other data structures including lc control blocks, packet buffers, and cell buffers. figure 30: general queue, event, and data structure linkage status lc raw packet lc info raw cell header data packet header data event event event event event event lc cb head ta i l
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 352 of 706 pnr261_17rxque.fm.06 august 14, 2000 3.15.3 rxque events the event information typically contains a pointer (when low order bits are zeroed) to a packet buffer, a cell buffer, or an lcd. it can also contain a dma descriptor address or user-specified data. table 19 lists the dif- ferent event types. if an event is routed, there will be an ? x ? in the column corresponding to the queue to which the event is routed. see 3.15.24 rxque event routing registers on page 378 for more information. table 19: event summary and routing information (page 1 of 3) event number description event information error count tx comp abr pools note x ? 00 ? =0000000 aal5 packet event (packet complete) packet/lcd x ? 01 ? =0000001 aal5 packet header event (packet start) packet x ? 02 ? =0000010 aal5 packet with bad crc packet/lcd x x ? 03 ? =0000011 aal5 packet with bad length field packet/lcd x x ? 04 ? =0000100 aal5 packet that exceeds maximum length in lc packet/lcd x x ? 05 ? =0000101 aal5 packet timeout packet/lcd x x ? 06 ? =0000110 aal5 packet forward abort packet/lcd x x ? 07 ? =0000111 aal5 packet cpi field not equal to zero packet/lcd x x ? 0e ? =0001110 aal5 fifo packet packet x ? 08 ? =0001000 cell event (user data) packet/lcd x ? 09 ? =0001001 nud cell event (non-user data) packet/lcd x ? 0a ? =0001010 nud cell with bad crc-10 packet/lcd x x ? 0b ? =0001011 bad cell - bad hec packet x x ? 0c ? =0001100 bad cell - out of range packet x x ? 0d ? =0001101 bad cell - index equal zero packet x x ? 10 ? =0010000 aal0 cell dropped - lack of pools buffers lcd x x ? 11 ? =0010001 aal5 cell dropped - lack of pools buffers lcd x x ? 12 ? =0010010 oam cell dropped - lack of pools buffers lcd x x ? 18 ? =0011000 total user cells receive counter overflow lcd x x ? 19 ? =0011001 total user cells rx clp=0 counter overflow lcd x x ? 1a ? =0011010 total user cells tx counter overflow lcd x x ? 1b ? =0011011 total user cells tx clp=0 counter overflow lcd x x ? 1c ? =0011100 threshold 1 crossed - down lcd x x ? 1d ? =0011101 threshold 1 crossed - up lcd x x ? 1e ? =0011110 threshold 1 crossed - down lcd x x ? 1f ? =0011111 threshold 2 crossed - up lcd x x ? 20 ? =0100000 transmit complete packet x x ? 21 ? =0100001 transmit complete buffer freed packet/lcd x x ? 22 ? =0100010 "bad" found in first word of packet packet x x ? 23 ? =0100011 connection closed lcd x 1. this event is generated by the rxaal picoprocessor and is subject to change.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 353 of 706 x ? 24 ? =0100100 transmit dma complete descriptor x ? 25 ? =0100101 receive dma complete descriptor x ? 26 ? =0100110 transmit dma complete with error descriptor x ? 27 ? =0100111 receive dma complete with error descriptor x ? 28 ? =0101000 transmit dma complete with virtual error descriptor x ? 29 ? =0101001 zero address in dma descriptor src/dst address descriptor x ? 2a ? =0101010 reserved x ? 2c ? =0101100 adtf event lcd x x ? 2d ? =0101101 crm event lcd x x ? 2e ? =0101110 ccr=0 event lcd x x ? 2f ? =0101111 rm cell event packet x x ? 30 ? =0110000 user event x ? 31 ? =0110001 user event x ? 32 ? =0110010 user event x ? 33 ? =0110011 user event x ? 34 ? =0110100 user event x ? 35 ? =0110101 user event x ? 36 ? =0110110 user event x ? 37 ? =0110111 user event x ? 38 ? =0111000 virtual memory resource event packet/lcd x x ? 39 ? =0111001 buffer overflow event packet/lcd x x ? 3a ? =0111010 no dma descriptor for aal7 packet packet/lcd x x ? 3b ? =0111011 dma canceled for aal7 packet due to error descriptor x ? 3c ? =0111100 no scatter pages available and packet complete packet/lcd x x ? 3d ? =0111101 entity counter overflow event counter x x ? 3e ? =0111110 pools status event status x x ? 3f ? =0111111 no descriptor available event packet 1 x ? 40 ? =1000000 frame event (good frame) packet/lcd x ? 41 ? =1000001 frame event (error) packet/lcd x x ? 42 ? =1000010 frame event (protocol error) packet/lcd x x ? 43 ? =1000011 frame event (reserved) x x ? 44 ? =1000100 frame event (reserved) x ? 45 ? =1000101 frame event (reserved) x ? 46 ? =1000110 frame event (reserved) table 19: event summary and routing information (page 2 of 3) event number description event information error count tx comp abr pools note 1. this event is generated by the rxaal picoprocessor and is subject to change.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 354 of 706 pnr261_17rxque.fm.06 august 14, 2000 x ? 47 ? =1000111 frame event (reserved) x ? 50 ? =1010000 pcore event x ? 51 ? =1010001 pcore event x ? 52 ? =1010010 pcore event x ? 53 ? =1010011 pcore event x ? 54 ? =1010100 pcore event x ? 55 ? =1010101 pcore event x ? 56 ? =1010110 pcore event x ? 57 ? =1010111 pcore event x ? 58 ? =1011000 reasm counter-overflow event counter x x ? 59 ? =1011001 segbf counter-overflow event counter x x ? 5c ? =1011100 system - receive queue event (start of buffer) previous lower bound x ? 5d ? =1011101 system - receive queue event (end of buffer) next lower bound x ? 5e ? =1011110 timestamp event timestamp x ? 5f ? =1011111 64-bit timestamp event timestamp x ? 64 ? =1100100 tx dma complete descriptor x ? 65 ? =1100101 rx dma complete descriptor x ? 66 ? =1100110 tx dma complete with error descriptor x ? 67 ? =1100111 rx dma complete with error descriptor x ? 68 ? =1101000 tx dma complete with virtual error descriptor x ? 69 ? =1101001 zero address in dma descriptor src/dst address descriptor x ? 6e ? =1101110 no header available event packet 1 x ? 6f ? =1101111 no packet header available event packet 1 table 19: event summary and routing information (page 3 of 3) event number description event information error count tx comp abr pools note 1. this event is generated by the rxaal picoprocessor and is subject to change.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 355 of 706 3.15.3.1 aal5 packet events for aal5 packet events, the event specifies the packet buffer address, and the event type field specifies the type of packet event. the following event types are defined: event number name description x ? 00 ? =0000000 normal aal5 packet event (packet complete) this event specifies that an aal5 packet was received and has passed all aal5 protocol checks (crc, length). the event information contains a pointer to the packet. x ? 0e ? =0001110 normal aal5 fifo packet event this event specifies that an aal5 fifo packet was received and has passed all aal5 protocol checks (crc, length). the event information contains a pointer to the packet. x ? 01 ? =0000001 normal aal5 packet header threshold event (packet start) this event specifies that the aal5 packet header threshold was exceeded as set in the lcd. the event information contains a pointer to the packet header, and the user can access up to the packet header threshold bytes of data. x ? 02 ? =0000010 aal5 packet with bad crc was rx on lc this event specifies that an aal5 packet was received and the aal5 crc is bad. the event information contains either a pointer to the packet if receiving bad frames, or a pointer to the lcd on which this packet was received. x ? 03 ? =0000011 aal5 packet with bad length field was rx on lc this event specifies that an aal5 packet was received and the aal5 length field is bad. for example, there is too much data or not enough, but typically the bad crc is detected first. the event information contains either a pointer to the packet if receiving bad frames, or a pointer to the lcd on which this packet was received. x ? 04 ? =0000100 aal5 packet that exceeds max len in lc was rx this event specifies that an aal5 packet was received but the amount of data has exceeded the maximum length as specified in the lcd or in the msdu register. the event information contains either a pointer to the packet if receiving bad frames, or a pointer to the lcd on which this packet was received. x ? 05 ? =0000101 aal5 packet timeout on this lc this event specifies that a reassembly timeout has occurred for an aal5 packet being reassembled. the event information contains either a pointer to the packet if receiving bad frames, or a pointer to the lcd on which this packet was received. x ? 06 ? =0000110 aal5 packet forward abort this event specifies that an aal5 packet was terminated with a forward abort. the event information contains either a pointer to the packet if receiv- ing bad frames, or a pointer to the lcd on which this packet was received. x ? 07 ? =0000111 aal5 packet cpi field not equal to zero this event specifies that a aal5 packet was received and the aal5 cpi field was not set to ? 0 ? which is an aal5 protocol violation. the event information contains either a pointer to the packet if receiving bad frames, or a pointer to the lcd on which this packet was received.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 356 of 706 pnr261_17rxque.fm.06 august 14, 2000 3.15.3.2 cell events for aal0 events, the event specifies a cell buffer address, and the event type field specifies type of aal0 event. the following event types are defined: event number name description x ? 08 ? =0001000 aal0 cell event this event specifies that an aal0 (non-fifo mode) cell was received. the event information contains a pointer to the cell. x ? 09 ? =0001001 non-user data cell event this event specifies that a non-user data cell was received and the crc-10 was good if checking was enabled. the event information contains a pointer to the cell. x ? 0a ? =0001010 non-user data cell with bad crc-10 event this event specifies that a non-user data cell was received and the crc-10 was bad. the event information contains either a pointer to the cell if receiv- ing bad frames, or a pointer to the lcd on which this cell was received. x ? 0b ? =0001011 cell with bad hec event this event specifies that a cell was received with a bad hec. the event information contains a pointer to the cell. x ? 0c ? =0001100 cell with vp/vc out of range event this event specifies that a cell was received with a vp/vc that was out of range. the event information contains a pointer to the cell. x ? 0d ? =0001101 cell with vc index equal zero this event specifies that a cell was received with a vc index equal zero. the event information contains a pointer to the cell.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 357 of 706 3.15.3.3 lc events for lc events, the event specifies an lc, and the event type field specifies what happened on the lc. the following event types are defined: 3.15.3.4 abr events the following events are used for abr processing and are routed to the receive queue specified in the abr event routing register. event number name description x ? 10 ? =0010000 aal0 cell was dropped due to lack of pools buffers this event specifies that an aal0 (non-fifo mode) cell was received, but was discarded because no pool buffers were available. the event informa- tion contains a pointer to the lcd on which this cell was received. x ? 11 ? =0010001 aal5 cell was dropped due to lack of pools buffers this event specifies that the first aal5 cell for a packet was received, but was discarded because no pool buffers were available. the event informa- tion contains a pointer to the lcd on which this cell was received. x ? 12 ? =0010010 non-user data cell was dropped due to lack of pools buffers this event specifies that a non-user data cell was received, but was dis- carded because no pool buffers were available. the event information con- tains a pointer to the lcd on which this cell was received. x ? 17 ? =0010111 reserved reserved. x ? 18 ? =0011000 lc total user cells rx counter overflow this event specifies that the tuc rx counter in the lcd has overflowed. the event information contains a pointer to the lcd. x ? 19 ? =0011001 lc total user cells clp=0 rx counter overflow this event specifies that the tuc w/clp=0 rx counter in the lcd has over- flowed. the event information contains a pointer to the lcd. x ? 1a ? =0011010 lc total user cells tx counter overflow this event specifies that the tuc tx counter in the lcd has overflowed. the event information contains a pointer to the lcd. x ? 1b ? =0011011 lc total user cells clp=0 tx counter overflow this event specifies that the tuc w/clp=0 tx counter in the lcd has over- flowed. the event information contains a pointer to the lcd. x ? 58 ? =1011000 reasm counter-overflow event this specifies that reasm raised counter-overflow event. the event infor- mation specifies which counter overflowed. x ? 59 ? =1011001 segbf counter-overflow event this specifies that segbf raised counter-overflow event. the event informa- tion specifies which counter overflowed. event number name description x ? 2c ? =0101100 adtf event this event specifies that the adtf timer expired. the event information con- tains a pointer to the lcd. x ? 2d ? =0101101 crm event this event specifies that the crm count has been exceeded. the event information contains a pointer to the lcd. x ? 2e ? =0101110 ccr = 0 event this event specifies that ccr = 0. the event information contains a pointer to the lcd. x ? 2f ? =0101111 rm cell rx-ed this event specifies that an rm cell was received. the event information contains a pointer to the receive buffer.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 358 of 706 pnr261_17rxque.fm.06 august 14, 2000 3.15.3.5 miscellaneous events event number name description x ? 1c ? =0011100 thresh 1 event - down this event specifies that a memory management threshold was crossed downwards. the event information contains the lcd address. x ? 1d ? =0011101 thresh 1 event - up this event specifies that a memory management threshold was crossed upwards. the event information contains the lcd address. x ? 1e ? =0011110 thresh 2 event - down this event specifies that a memory management threshold was crossed downwards. the event information contains the lcd address. x ? 1f ? =0011111 thresh 2 event - up this event specifies that a memory management threshold was crossed upwards. the event information contains the lcd address. x ? 20 ? =0100000 transmit complete this event specifies that a packet/cell was successfully transmitted. the event information contains a pointer to the buffer transmitted. x ? 21 ? =0100001 transmit complete buffer freed this event specifies that a packet/cell was successfully transmitted and the buffer was freed back to pools. the event information contains a pointer to the buffer transmitted. x ? 22 ? =0100010 transmit bad this event specifies that a packet was to be transmitted, but the buffer was marked as bad, so was canceled. this is caused by getting a page fault when dmaing into the transmit packet buffer. the event information contains a pointer to the bad buffer. x ? 23 ? =0100011 connection closed this event specifies that all packets for the given lcd have been transmit- ted. the event information contains the lcd address. x ? 24 ? =0100100 tx dma complete (into the pnr) this event specifies that a tx dma completed successfully. the event infor- mation depends on how the dma was set up. event-identifier x ? 64 is an alias. x ? 25 ? =0100101 rx dma complete (out of the pnr) this event specifies that an rx dma completed successfully. the event information depends on how the dma was set up. event-identifier x ? 65 is an alias. x ? 26 ? =0100110 tx dma complete with error (into the pnr) this event specifies that a tx dma had errors. the event information depends on how the dma was set up. event-identifier x ? 66 is an alias. x ? 27 ? =0100111 rx dma complete with error (out of the pnr) this event specifies that an rx dma had errors. the event information depends on how the dma was set up. event-identifier x ? 67 is an alias. x ? 28 ? =0101000 tx dma complete with virtual error this event specifies that a tx dma had a virtual error. the remainder of the dma descriptor was cancelled. the event information contains the dma descriptor address. event-identifier x ? 68 is an alias. x ? 29 ? =0101001 dma desc has zero address this event specifies that a dma descriptor source destination address was zero. the remainder of the dma descriptor was cancelled. the event infor- mation contains the dma descriptor address. event-identifier x ? 69 is an alias. x ? 2a ? =0101010 reserved x ? 30 ? =0110000 user defined x ? 31 ? =0110001 user defined x ? 32 ? =0110010 user defined x ? 33 ? =0110011 user defined x ? 34 ? =0110100 user defined x ? 35 ? =0110101 user defined x ? 36 ? =0110110 user defined
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 359 of 706 x ? 37 ? =0110111 user defined x ? 38 ? =0111000 virtual memory resource event this event specifies that an aal5 cell was received, but could not be written into the buffer because a virtual memory boundary was crossed and a buffer was not available to fill in the next segment. this can also happen if the cell crosses a boundary that would make the buffer larger than the virtual buffer size. the event information contains either a pointer to the packet if receiving bad frames, or a pointer to the lcd on which this packet was received. x ? 39 ? =0111001 buffer overflow event this event specifies that an aal5 cell was received, but could not be written into the buffer because it would exceed the real buffer size. the event infor- mation contains either a pointer to the packet if receiving bad frames, or a pointer to the lcd on which this packet was received. x ? 3a ? =0111010 no dma desc for aal7 packet event this event specifies that an aal7 (aal5 with cut through) packet was com- pleted, but no dma descriptors were available to dma the packet header. the event information contains either a pointer to the packet if receiving bad frames, or a pointer to the lcd on which this packet was received. x ? 3b ? =0111011 dma cancelled for aal7 packet due to error event this event specifies that a dma descriptor enqueued with a cut-through operation was cancelled because an error condition was detected with the packet (crc, length). the event information contains the system descriptor address that was cancelled. x ? 3c ? =0111100 no pages available for aal5 scatter packet this event specifies that an aal5 packet completed with no errors, but there was a lack of scatter buffers to complete the scatter dma. the user must interrogate the partial dma list in the packet header to recover the system pages. once this is done, the packet should be freed. the user can alter- nately treat this as a good packet and complete the packet processing by setting up additional dmas to move the remaining data to system pages. the event information contains the pnr buffer address. x ? 3d ? =0111101 pnr counter overflow event this event specifies that a counter overflow event has been raised. the event information specifies which counter overflowed. multiple counter over- flows can be specified with a single event. the following is the definition of the event information: bit 27 gpdma write dma byte count overflow bit 26 gpdma read dma byte count overflow bit 25 rxque timestamp counter overflow bit 24 pcint performance counter 1 overflow bit 23 pcint performance counter 2 overflow x ? 3e ? =0111110 pools status event this event specifies that a pools status event has been raised. the event information contains the status. see 3.17 buffer pool management (pools) on page 395 for the definition. x ? 5e ? =1011110 timestamp event this event specifies that a timestamp event has been placed ahead of next event. the event information contains the timestamp. x ? 5f ? =1011111 64-bit timestamp event this event specifies that a timestamp event has been placed ahead of next event. the most significant word in the event-information field contains the full 32-bit timestamp. event number name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 360 of 706 pnr261_17rxque.fm.06 august 14, 2000 3.15.3.6 frame-based events 3.15.3.7 pcore events 3.15.3.8 system-receive-queue events event number name description x ? 40 ? =1000000 frame event (good frame) a valid frame was received from the pos-phy interface. x ? 41 ? =1000001 frame event (error) error bit was detected on from the pos-phy interface. x ? 42 ? =1000010 frame event (protocol error) unexpected start or end of packet received from the pos-phy interface. x ? 43 ? =1000011 reserved reserved for future use as event for frame dropped - lack of buffers. x ? 44 ? =1000100 reserved reserved. x ? 45 ? =1000101 reserved reserved. x ? 46 ? =1000110 reserved reserved. x ? 47 ? =1000111 reserved reserved. event number name description x ? 50 ? =1010000 pcore event defined by software. x ? 51 ? =1010001 pcore event defined by software. x ? 52 ? =1010010 pcore event defined by software. x ? 53 ? =1010011 pcore event defined by software. x ? 54 ? =1010100 pcore event defined by software. x ? 55 ? =1010101 pcore event defined by software. x ? 56 ? =1010110 pcore event defined by software. x ? 57 ? =1010111 pcore event defined by software. event number name description x ? 5c ? =1011100 system-receive-queue start- of-buffer event this event specifies the beginning of a system receive queue buffer, the event information contains the lower bound of the last buffer. x ? 5d ? =1011101 system-receive-queue end-of- buffer event this event specifies the end of a system receive queue buffer, the event information contains the lower bound of the next buffer.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 361 of 706 3.15.3.9 rxaal picoprocessor generated events 3.15.4 rxque structure each queue has a number of registers that define the queue and its behavior: 3.15.5 rxque initialization to set up a receive queue, at least two pieces of information are needed. the first is the receive queue ? s set of properties, and the second is its base address. the following restrictions should be taken into account when setting up a queue:  the properties register must be set up before the lower-bound and next-lower-bound registers can be set up.  the lower bound and next lower bound must be at least 1 k aligned. the low order 10 bits of these regis- ters are not writable, so the minimum physical size of a receive queue is 1024 bytes (256 32-bit entries). the alignment should correspond to the size specified in the properties register.  the head and tail pointers are initialized when the lower bound register is written. these registers are only writable for diagnostic purposes.  the threshold is level sensitive, so as long as the queue length is greater than or equal to the threshold, the appropriate status bit is driven.  all registers, except the threshold and next-lower-bound registers, can only be written in diagnostic mode and are intended to only be written once when they are set up. event number name description x ? 3f ? =0111111 no descriptor available event this event specifies that reasm is doing scatter/cut through and attempted to dequeue a system page address or dma descriptor address from rxque and the receive queue was empty. this event is surfaced to the user so the packet can be used and the dma list recovered. x ? 6e ? =1101110 no header available event this event specifies that reasm is doing scatter/cut through and attempted to dequeue the optional header descriptor from rxque and the receive queue was empty. this event is surfaced to the user so the packet can be used and the dma list recovered. x ? 6f ? =1101111 no packet header available event this event specifies that reasm is doing scatter/cut through and attempted to dequeue a system page address or dma descriptor address for the packet header from rxque and the receive queue was empty. this event is sur- faced to the user so the packet can be used and the dma list recovered. lower bound pointer to starting address of queue ? s buffer. properties indicates the queue ? s size, type, and behavior. head pointer pointer to head of queue. tail pointer pointer to the next free entry in queue - points to head if queue is full or empty. queue length current length of the queue. threshold length threshold used to generate interrupts. next lower bound pointer to starting address of a system receive queue ? s next buffer.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 362 of 706 pnr261_17rxque.fm.06 august 14, 2000 3.15.6 rxque event routing events are routed to a receive queue based on the current event type and mode of the chip. events fall into these categories:  normal events  error events  counter events  transmit complete events  dma events (tx/rx)  abr events  pools status events see table 19: event summary and routing information on page 352 to see how the different events are cat- egorized. all events other than normal, dma, and error events are routed using the corresponding rxque event rout- ing registers. normal events are always routed to the receive queue specified in the receive portion of the lcd. dmaqs specifies the route for all dma events. error events are routed based on the values of the ? receive bad frame mode ? bit and the ? always route error events ? mode bit in rxque control register. if the ? always route error events ? bit is on, the error events are always routed to the error queue. otherwise, if the receive bad frame mode is on, the error events are routed to the receive queue specified in the receive portion of the lcd just like a normal event would be. when receive bad frames is off, the error events are routed to the error queue.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 363 of 706 3.15.7 rxque normal operation this section describes how to use the receive queues (rxq) and the rxq operations. the receive queue contains events for the end user to process. these events are obtained by the user by executing the rxq deq operation. the user can be notified of new events by setting up the threshold and inter- rupt enable registers appropriately. otherwise, the rxq length register can be polled to check for events. the deq operation is executed by reading the deq register address for the appropriate rxq. the event at the head of the queue is returned and the event is removed from the queue. some events have a packet/cell buffer associated with it. this buffer is owned by the user, and it is the user ? s responsibility to free this buffer. the following pseudo code illustrates how a receive queue could be processed: figure 31: rxque dequeue event loop // rxq was polled or int occurred to get here event = rxque->deq; // read an event from rxq if (event neq 0) { // need to check for null event eventtype = event & 0x7f; // calc event type event = event & ~(0x7f); // calc lc or buffer ptr switch (eventtype) { case(event1): processsimpleevent1(event); break; case(event2): processsimpleevent2(event); break; . . . case(eventx): processsimpleeventx(event); break; } }
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 364 of 706 pnr261_17rxque.fm.06 august 14, 2000 3.15.8 rxque queue full operation when a receive queue is full (length is equal to maximum length), the appropriate status bit is set. when a queue is full, all subsequent events are flushed until room is available in the receive queue. if a buffer was associated with the event and the rxque-properties-register bit disable auto-free is not set, the buffer is freed back to pools. when an event is dropped, the event dropped status bit is set and the event data that was dropped can be found in rxque last event dropped register. the rxque last event dropped register will not be changed until the event dropped status bit is cleared. it is not good to let a receive queue become full. 3.15.9 rxque event timestamping when timestamp mode is set in the rxque control register, events are timestamped. when timestamping is enabled, a timestamp event is placed in the corresponding rxq followed by the actual event. the event information of the timestamp event carries the timestamp. the timestamp is determined from the rxque timestamp register, rxque timestamp pre-scaler register, and the rxque timestamp shift register. if the corresponding rxq is full, both events are dropped. it is possible to lose only the timestamp event or lose the actual event depending on the length of the queue and the timing of the dequeue operations. 3.15.10 rxque system receive queues to set up a system receive queue, set the ? diagnostic-mode ? bit in the rxque control register. next, set the system receive queue bit in the rxque properties register. load the upper bound and size of event fields, as well. after this, allocate two identical buffers in system memory. let each buffer be large enough to contain n events (the upper bound field prescribes the value n) and initialize both to all zeros. write one buffer ? s starting address into the rxque lower bound register (lobr), and write the other ? s starting address into the rxque next lower bound register (nlbr). finally, reset the diagnostic mode bit in the rxque control register. system-receive-queue setup is complete. the first event enqueued to a system receive queue causes rxque to begin filling the buffer which lobr references. rxque fills the buffer ? s first entry with a ? system-receive-queue start-of-buffer ? event whose information is the value ? 0 ? . after this, rxque fills the buffer ? s second entry with the enqueued event and writes the value x ? 2 ? into the rxque length register (lenr). the second event enqueued to the system receive queue causes rxque to fill the buffer ? s third entry and write the value x ? 3 ? into lenr. the third event enqueued to the system receive queue causes rxque to fill the buffer ? s fourth entry and write the value x ? 4 ? into lenr. this continues until lenr contains the value x ? n-1 ? . at that time, rxque fills the buffer ? s nth entry with a system-receive-queue end-of-buffer event whose information is the value in nlbr. after this, rxque begins filling the buffer which nlbr references. rxque fills its first entry with a ? system-receive-queue start-of- buffer ? event whose information is the value in lobr. after this, rxque copies the contents of nlbr into lobr and writes the value ? 1 ? into lenr. finally, rxque writes the value ? 0 ? into nlbr. subsequent events enqueued to the system receive queue f ill the buffer which lobr references. to prevent the system receive queue from becoming full, write a non-zero value into nlbr.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 365 of 706 the system receive queue becomes full when the value in lenr becomes x ? n-1 ? while nlbr contains the value ? 0 ? . at that time, rxque fills the buffer ? s nth entry with a system-receive-queue end-of-buffer event whose information is the value ? 0 ? . rxque writes the value n into lenr and preserves the contents of lobr while dropping subsequent enqueued events. to restart the system receive queue from the ? full ? state, write a non-zero value into nlbr. after restarting, the next event enqueued to the system receive queue causes rxque to begin filling the buffer which nlbr references. rxque fills the buffer ? s first entry with a system- receive-queue start-of-buffer event whose information is the value preserved in lobr. rxque fills the buffer ? s second entry with the enqueued event. after this, rxque copies the contents of nlbr into lobr and writes the value x ? 2 ? into lenr. finally, rxque writes the value ? 0 ? into nlbr. subsequent events enqueued to the system receive queue f ill the buffer which lobr references. to prevent the system receive queue from becoming full, write a non-zero value into nlbr. the rxque queues ? status register bit ? threshold exceeded ? indicates that the value in lenr is greater than or equal to the value in the rxque threshold register while nlbr contains the value ? 0 ? . to reset this status bit, write a non-zero value into nlbr. events enqueued to a system receive queue may not be dequeued via the rxque dequeue register. to dequeue from a system receive queue, poll system memory directly. a buffer ? s entry is filled if its value is non- zero. rxque synchronizes its internal-register operations with the initiation, rather than completion, of its system- memory operations. therefore, the state of system memory lags the state of rxque.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 366 of 706 pnr261_17rxque.fm.06 august 14, 2000 3.15.11 rxque lower bound registers these registers specify the lower bound of the corresponding receive queue data structure. the head and tail of the receive queue are initialized when this register is written. when the receive queue wraps past the upper bound, it wraps back to the value in the lower bound register, thus implementing the receive queue as a circu- lar buffer. when this register is written, the corresponding receive queue is essentially reset. this is because the head, tail, and length of the queue are all reset. the length of the rxque lower bound register is 64 bits if all three of the following conditions are met; oth- erwise, the length is 32 bits.  system receive-queue in the rxque properties register is set.  system-memory select in the rxque properties register indicates ? pci memory. ?  enable master 64-bit addressing in the pcint 64-bit control register is set. length 32 or 64 bits type read/write address queue 0 xxxx 1800 queue 1 xxxx 1840 queue 2 xxxx 1880 queue 3 xxxx 18c0 queue 4 xxxx 1900 queue 5 xxxx 1940 queue 6 xxxx 1980 queue 7 xxxx 19c0 queue 8 xxxx 1a00 queue 9 xxxx 1a40 queue 10 xxxx 1a80 queue 11 xxxx 1ac0 queue 12 xxxx 1b00 queue 13 xxxx 1b40 queue 14 xxxx 1b80 queue 15 xxxx 1bc0 power on reset value x ? 0000 0000 0000 0000 ? restrictions during normal operations, these registers are read only. these registers can only be written when the diagnostic bit has been set in the control register. the lower bound registers must be at least 1 k aligned (low order 10 bits not writ- able). the alignment should also correspond to the size specified in the upper bound register. for example, it should be 4 k aligned if the upper bound specifies 4 k size.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 367 of 706 3.15.12 rxque properties registers these registers specify the properties of the corresponding receive queue. length 32 bits type read/write address queue 0 xxxx 1808 queue 1 xxxx 1848 queue 2 xxxx 1888 queue 3 xxxx 18c8 queue 4 xxxx 1908 queue 5 xxxx 1948 queue 6 xxxx 1988 queue 7 xxxx 19c8 queue 8 xxxx 1a08 queue 9 xxxx 1a48 queue 10 xxxx 1a88 queue 11 xxxx 1ac8 queue 12 xxxx 1b08 queue 13 xxxx 1b48 queue 14 xxxx 1b88 queue 15 xxxx 1bc8 power on reset value x ? 0001 0001 ? restrictions bits 11-0 may only be written when the diagnostic bit has been set in the control register. there are no restrictions for bits 32-12. reserved status-multiplexer control disable auto-free disable bcach advice disable timestamps queue direction reserved system-memory select system receive queue size of event reserved upper bound 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-18 reserved reserved. 17-16 status-multiplexer control 00 select ? full/empty ? 01 select ? threshold exceeded ? (power-on value) 10 select ? head valid ? 11 reserved
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 368 of 706 pnr261_17rxque.fm.06 august 14, 2000 15 disable auto-free inhibits freeing of packet-buffers when the receive queue is full. 14 disable bcach advice when set, the bcach advice is disabled for this queue. this is necessary in order to use a queue as a general purpose container for user data. 13 disable timestamps when set, timestamps are disabled for this queue. this is necessary in order to run cut through modes. 12 queue direction when set, the direction of the queue is assumed to be reversed. this only affects the full condition and the threshold exceeded condition. when this bit is set, the polarity of these status signals changes. thus, the full condition becomes an empty condition, and the two threshold conditions trigger when the length of the queue is less than the corresponding threshold instead of greater than or equal. this mode is mainly used for queues that relay information from the system to the pnr. also, event enqueues to a queue that is reversed do not start the event latency timer (since no new event for system has arrived). 11 reserved reserved. 10 system-memory select this is valid only when bit 9 (system receive queue) is set. 0 pci memory (power-on value) 1on-chip memory 9 system receive queue 8 size of event 0 32 bits (power-on value) 1 64 bits 7-4 reserved reserved. 3-0 upper bound this specifies the encoded upper bound of the corresponding receive queue data struc- ture. the actual upper bound is calculated by adding the decoded queue size to the lower bound. when the receive queue wraps past the upper bound, it wraps back to the lower bound register, thus implementing the receive queue as a circular buffer. 0000 reserved 0001 256 entries (power-on value) 0010 512 entries 0011 1024 entries 0100 2 k entries 0101 4 k entries 0110 8 k entries 0111 16 k entries 1000 32 k entries 1001 64 k entries 101- reserved 11-- reserved bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 369 of 706 3.15.13 rxque head pointer registers these registers point to the head element of the corresponding receive queue. during normal operations, these registers do not need to be read or written, as they are used by the pnr to implement the receive queues. these registers are initialized when the lower bound register for the corresponding receive queue is written. length 32 bits type read/write address queue 0 xxxx 1810 queue 1 xxxx 1850 queue 2 xxxx 1890 queue 3 xxxx 18d0 queue 4 xxxx 1910 queue 5 xxxx 1950 queue 6 xxxx 1990 queue 7 xxxx 19d0 queue 8 xxxx 1a10 queue 9 xxxx 1a50 queue 10 xxxx 1a90 queue 11 xxxx 1ad0 queue 12 xxxx 1b10 queue 13 xxxx 1b50 queue 14 xxxx 1b90 queue 15 xxxx 1bd0 power on reset value x ? 0000 0000 ? restrictions during normal operations, these registers are read only. these registers can only be written when the diagnostic bit has been set in the control register. the head pointer registers are four-byte aligned (low order two bits not writable). bits 31-19 are calculated internally, and are not writable.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 370 of 706 pnr261_17rxque.fm.06 august 14, 2000 3.15.14 rxque tail pointer registers these registers point to the next free element of the corresponding receive queue. during normal operations, these registers do not need to be read or written, as they are used by the pnr to implement the receive queues. these registers are initialized when the lower bound register for the corresponding receive queue is written. length 32 bits type read/write address queue 0 xxxx 1814 queue 1 xxxx 1854 queue 2 xxxx 1894 queue 3 xxxx 18d4 queue 4 xxxx 1914 queue 5 xxxx 1954 queue 6 xxxx 1994 queue 7 xxxx 19d4 queue 8 xxxx 1a14 queue 9 xxxx 1a54 queue 10 xxxx 1a94 queue 11 xxxx 1ad4 queue 12 xxxx 1b14 queue 13 xxxx 1b54 queue 14 xxxx 1b94 queue 15 xxxx 1bd4 power on reset value x ? 0000 0000 ? restrictions during normal operations, these registers are read only. these registers can only be written when the diagnostic bit has been set in the control register. the tail pointer registers are 4-byte aligned (low order two bits not writable). bits 31-19 are calculated internally and are not writable.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 371 of 706 3.15.15 rxque length registers these registers specify the length (number of valid entries) of the corresponding receive queue. they can be used to query the status of a receive queue. this register is cleared when the corresponding lower bound is written. length 32 bits type read only address queue 0 xxxx 1818 queue 1 xxxx 1858 queue 2 xxxx 1898 queue 3 xxxx 18d8 queue 4 xxxx 1918 queue 5 xxxx 1958 queue 6 xxxx 1998 queue 7 xxxx 19d8 queue 8 xxxx 1a18 queue 9 xxxx 1a58 queue 10 xxxx 1a98 queue 11 xxxx 1ad8 queue 12 xxxx 1b18 queue 13 xxxx 1b58 queue 14 xxxx 1b98 queue 15 xxxx 1bd8 power on reset value x ? 0000 0000 ? restrictions these registers can only be written in diagnostic mode. bit(s) name description 31-17 reserved reserved. 16-0 queue length specifies the length of the corresponding receive queue.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 372 of 706 pnr261_17rxque.fm.06 august 14, 2000 3.15.16 rxque threshold registers these registers specify a queue length threshold at which the corresponding status bit is generated. these registers should be set equal to the number of queue entries that should cause status to be generated. for example, if the value was set to five, then no interrupt would be generated until five or more events were queued on the corresponding receive queue. the threshold is level sensitive, so as long as the length is greater than or equal to the threshold, the corresponding status bit is set. when this register is set to ? 0 ? , no thresholding is done. when the direction bit is set for a receive queue, the threshold has the opposite polarity. for example, as long as there are more events in the queue than specified in the threshold register, no status would be raised. length 32 bits type read/write address queue 0 xxxx 181c queue 1 xxxx 185c queue 2 xxxx 189c queue 3 xxxx 18dc queue 4 xxxx 191c queue 5 xxxx 195c queue 6 xxxx 199c queue 7 xxxx 19dc queue 8 xxxx 1a1c queue 9 xxxx 1a5c queue 10 xxxx 1a9c queue 11 xxxx 1adc queue 12 xxxx 1b1c queue 13 xxxx 1b5c queue 14 xxxx 1b9c queue 15 xxxx 1bdc power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-17 reserved reserved. 16-0 queue length threshold set equal to the number of queue entries that should cause status to be generated. when set to ? 0 ? , no thresholding is done.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 373 of 706 3.15.17 rxque dequeue registers these registers are used to retrieve the event at the head of the corresponding receive queue. the length of an rxque dequeue register is 64 bits if size of event is set in its corresponding rxque properties register; otherwise, the length is 32 bits. length 32 or 64 bits type read only address queue 0 xxxx 1820 queue 1 xxxx 1860 queue 2 xxxx 18a0 queue 3 xxxx 18e0 queue 4 xxxx 1920 queue 5 xxxx 1960 queue 6 xxxx 19a0 queue 7 xxxx 19e0 queue 8 xxxx 1a20 queue 9 xxxx 1a60 queue 10 xxxx 1aa0 queue 11 xxxx 1ae0 queue 12 xxxx 1b20 queue 13 xxxx 1b60 queue 14 xxxx 1ba0 queue 15 xxxx 1be0 power on reset value x ? 0000 0000 ? restrictions this is a read only register, and all writes will be ignored. events are only returned when the diagnostic bit is reset in the control register, otherwise zero will be returned.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 374 of 706 pnr261_17rxque.fm.06 august 14, 2000 3.15.18 rxque enqueue registers these registers are used to enqueue user events at the tail of the corresponding receive queue. the length of an rxque enqueue register is 64 bits if size of event is set in its corresponding rxque properties register; otherwise, the length is 32 bits. length 32 or 64 bits type read/write queue 0 xxxx 1828 queue 1 xxxx 1868 queue 2 xxxx 18a8 queue 3 xxxx 18e8 queue 4 xxxx 1928 queue 5 xxxx 1968 queue 6 xxxx 19a8 queue 7 xxxx 19e8 queue 8 xxxx 1a28 queue 9 xxxx 1a68 queue 10 xxxx 1aa8 queue 11 xxxx 1ae8 queue 12 xxxx 1b28 queue 13 xxxx 1b68 queue 14 xxxx 1ba8 queue 15 xxxx 1be8 power on reset value x ? 0000 0000 ? restrictions all reads result in zero. rxque should be enabled to do this.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 375 of 706 3.15.19 rxque next lower bound registers these registers specify the next lower bound of the corresponding system receive queue data structure. see 3.15.10 rxque system receive queues on page 364 for instruction about managing system receive queues. the length of the rxque next lower bound register is the same as the length of the rxque lower bound register. see 3.15.11 rxque lower bound registers on page 366 for conditions which determine the length. length 32 or 64 bits type read/write queue 0 xxxx 1830 queue 1 xxxx 1870 queue 2 xxxx 18b0 queue 3 xxxx 18f0 queue 4 xxxx 1930 queue 5 xxxx 1970 queue 6 xxxx 19b0 queue 7 xxxx 19f0 queue 8 xxxx 1a30 queue 9 xxxx 1a70 queue 10 xxxx 1ab0 queue 11 xxxx 1af0 queue 12 xxxx 1b30 queue 13 xxxx 1b70 queue 14 xxxx 1bb0 queue 15 xxxx 1bf0 power on reset value x ? 0000 0000 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 376 of 706 pnr261_17rxque.fm.06 august 14, 2000 3.15.20 rxque last event dropped register this register contains the last event that was dropped. it holds its value until the event dropped status bit is cleared. the length of the rxque last event dropped register is 64 bits if size of dropped event is set in the rxque status register; otherwise, the length is 32 bits. 3.15.21 rxque timestamp register this register is used to specify the current timestamp measured using the timestamp pre-scaler ticks. it counts based on the value in the rxque timestamp pre-scaler register. it can be read or written at any time. it is cleared when the pre-scaler register is written. length 32 or 64 bits type read/write address xxxx 1c10 power on reset value x ? 0000 0000 0000 0000 ? restrictions none length 32 bits type read/write address xxxx 1c30 power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 377 of 706 3.15.22 rxque timestamp pre-scaler register this register is used to specify the time interval of each timestamp timer tick. it determines the number of 15 ns intervals between timestamp timer ticks. the value in the register plus one is the number of 15 ns intervals between timestamp timer ticks. the default value of ? 0 ? means that the timestamp timer ticks every 15 ns. if a value of four is placed in this register, the timestamp timer ticks every 75 ns (5 x 15 ns). 3.15.23 rxque timestamp shift register this register determines the number of bits that the timestamps are shifted. for example, if a value of ? 0 ? is placed in this register, then the timestamp is not shifted, and the low order seven bits are lost. if a value of ? 2 ? is placed in this register, then the timestamps are shifted two places and only the low order five bits of the timestamp are lost. this allows the user to control what portion of the timestamp is lost due to the low order event bits. length 32 bits type read/write address xxxx 1c38 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-16 reserved reserved. 15-0 timestamp pre-scaler the value plus one is the number of 15 ns intervals between timestamp timer ticks. the default value of ? 0 ? means that the timestamp timer ticks every 15 ns. length 32 bits type read/write address xxxx 1c3c power on reset value x ? 0000 0002 ? restrictions none bit(s) name description 31-3 reserved reserved. 2-0 timestamp shift number of bits the timestamps are shifted.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 378 of 706 pnr261_17rxque.fm.06 august 14, 2000 3.15.24 rxque event routing registers these registers contain the receive queue to which different types of events should be routed. see table 19: event summary and routing information on page 352 for event type mappings. 3.15.25 rxque event latency timer register this register is used to specify the event latency time interval. it is specified in 15 ns intervals. when a new event is placed on a receive queue, the event latency timer is started (if not already started). when this timer expires, the event latency timer expired status bit is set, and the timer is stopped. the status bit must be reset before the timer is started again. every time the status register (or prioritized status) is accessed, the timer is stopped. if this register is written while the timer is running, the new value takes effect immediately. if this reg- ister is set to ? 0 ? , the latency timer does not run. length 32 bits type read/write address event tx complete xxxx 1c40 event counter overflow xxxx 1c44 event error xxxx 1c48 event pools status xxxx 1c54 event abr xxxx 1c58 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-4 reserved reserved. 3-0 destination receive queue receive queue to which the event should be routed. length 32 bits type read/write address xxxx 1c20 power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 379 of 706 3.15.26 rxque queues status register this register indicates the status for all receive queues. length 64 bits type read only address xxxx 1d40 power on reset value x ? 0000 0000 0000 0000 ? restrictions this is a read only register. queue 15 queue 14 queue 13 queue 12 queue 11 queue 10 queue 9 queue 8 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 queue 7 queue 6 queue 5 queue 4 queue 3 queue 2 queue 1 queue 0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 63-60 status-nibble for queue 15 for each 4-bit range, bit encoding is as follows: 3 reserved. 2 head valid: this is set when the head is valid for the queue. if this bit is set, then a deque operation should complete successfully. 1 threshold exceeded: this is set when the queue-length register equals or exceeds the value in the queue-threshold register. 0 queue full/empty: this is set when the queue-length register is equal to the queue-maximum-length register. when the direction of the queue is reversed, this bit is set when the queue is empty. 59-56 status-nibble for queue 14 55-52 status-nibble for queue 13 51-48 status-nibble for queue 12 47-44 status-nibble for queue 11 43-40 status-nibble for queue 10 39-36 status-nibble for queue 9 35-32 status-nibble for queue 8 31-28 status-nibble for queue 7 27-24 status-nibble for queue 6 23-20 status-nibble for queue 5 19-16 status-nibble for queue 4 15-12 status-nibble for queue 3 11-8 status-nibble for queue 2 7-4 status-nibble for queue1 3-0 status-nibble for queue 0
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 380 of 706 pnr261_17rxque.fm.06 august 14, 2000 3.15.27 rxque interrupt enable registers this register is used to specify which status register bits should be used to generate interrupts. each mask register is used to drive a different rxque status bit in intst. this makes it possible for different rxque status bits to generate interrupts on the pnr ? s minta and mint2 pins. see rxque status register for the bit descriptions. length 32 bits type clear/set address enable 1 xxxx 1c80 and 1c84 enable 2 xxxx 1c88 and 1c8c power on reset value enable 1-2 x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 381 of 706 3.15.28 rxque status register this register contains the status bits used to relay rxque status information. length 32 bits type clear/set address xxxx 1ca0 and ca4 power on reset value x ? 0000 0000 ? restrictions only bits 26 down to 23 are writable. general purpose timer status int 1 status or pcore normal int status int 2 status or pcore critical int status reserved reserved event latency timer expired event dropped size of dropped event reserved any queue ? s head valid any queue ? s threshold exceeded any queue full/empty status-multiplexer output for queues 15-0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31 general purpose timer status this is a mirror of the general purpose timer status bit in interrupt status. 30 int 1 status or pcore normal int status when read from the pci bus, this bit indicates if there is status other than rxque status and general purpose timer status in the interrupt source register using interrupt mask reg- ister 1 as a mask. when read from the pcore polling interface, the mask used is the pcore normal interrupt register. 29 int 2 status or pcore critical int status when read from the pci bus, this bit indicates if there is status other than rxque status and general purpose timer status in the interrupt source register using interrupt mask reg- ister 2 as a mask. when read from the pcore polling interface, the mask used is the pcore critical interrupt register. 28-27 reserved reserved. 26 sequence-error in 64-bit register- access sequence-error in 64-bit register-access 25 event latency timer expired when this bit is set, the event latency timer has expired. this indicates that new events are waiting to be processed on some queue(s) and the queue has not been processed for a period equal to the latency timer. this bit must be reset to re-enable the event latency timer. 24 event dropped when this bit is set, at least one event has been dropped. rxque last event dropped register contains the event that was dropped. 23 size of dropped event 032 bits 164 bits this bit does not generate interrupts.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 382 of 706 pnr261_17rxque.fm.06 august 14, 2000 3.15.29 rxque enabled status registers 1 and 2 these registers return the status register masked with the corresponding interrupt enable register. see 3.15.28 rxque status register on page 381 for the bitwise descriptions of these registers. 22-19 reserved reserved. 18 any queue ? s head valid 17 any queue ? s threshold exceeded 16 any queue full/empty 15-0 15-0: status-multiplexer output for queues 15-0 reports either ? head valid, ? ? threshold exceeded, ? or ? queue full/empty ? according to the setting of the status-multiplexer-control field in the rxque properties register. length 32 bits type read only address enable status 1 xxxx 1cb0 enable status 2 xxxx 1cb4 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 383 of 706 3.15.30 rxque control register this register is used to set rxque modes. it contains the mode bits that specify how rxque is to operate. length 32 bits type clear/set address xxxx 1c00 and c04 power on reset value x ? 0000 0300 ? restrictions none reset fifo reserved assume 64-bit pci assume 32-bit pci enable swap words on pci enable swap bytes on pci always route error events enable chip overflow events memory select inhibit enqueues timestamp mode receive bad frames bcach advice diagnostic mode 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31 reset fifo when this bit is set, the internal fifo is flushed, and this bit is reset. the result is this bit will always be read as a ? 0 ? . this bit can only be set in diagnostic mode. 30-12 reserved reserved. 11 assume 64-bit pci 10 assume 32-bit pci 9 enable swap words on pci this bit is automatically set at power-on. 8 enable swap bytes on pci this bit is automatically set at power-on. 7 always route error events when this bit is set, all error events are routed to the error queue even if rx bad frames (bit2) is turned on. when cleared, error events are only routed to the error queue if rx bad frames is turned off. this bit allows the user to keep bad frames in time sequence with good frames or to route them to the error queue. the clear state of this bit is code com- patible with previous versions of the processor. 6 enable chip overflow events when set, the chip level counter overflow events are surfaced. 5 memory select when this bit is set, rxque will use packet memory instead of control memory to store the event queues. 4 inhibit enqueues when this bit is set, the enq state machine will not accept any new enq requests. this should be used in extreme cases as it holds off all enqueues indefinitely. 3 timestamp mode when this bit is set, timestamp events are inserted before each real event. the times- tamps correspond to when the event happened on chip. when this bit is off, timestamps can still be read from the timestamp register. the timestamps corresponds to when the event was dequeued in this scenario.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 384 of 706 pnr261_17rxque.fm.06 august 14, 2000 2 receive bad frames when this bit is set, bad frame events (all error events), will be received in the normal rxq defined in the lcd. all buffers are not freed, and the packet address is raised in the event data. when this bit is reset, bad frame events are routed to the rxq specified by the error event receive queue register. all packet based events will carry the lc address in the event data instead of the packet address. all buffers are freed back to pools. note: this bit should only be changed sparingly because it changes the way packets are freed and what is surfaced in an event (lcd vs. frame ptr). it should really only be changed when the receive side is inactive. 1 bcach advice this bit, when set, allows rxque to give bcach cache fill advice based on events that are dequeued. 0 diagnostic mode when this bit is set or when the chip is disabled, the rxque entity is in diagnostic mode and primitive execution is disabled. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_17rxque.fm.06 august 14, 2000 receive queues (rxque) page 385 of 706 3.15.31 debugging register access this section is a very brief documentation of access that has been put in for the internal registers of rxque. these addresses need not be written or read during normal operations. 3.15.31.1 rxque rxq state machine variable register main state variable for rxque processing state machine. 3.15.31.2 rxque rxq enq state machine variable register main state variable for rxque processing state machine. length 32 bits type read/write address xxxx 1e80 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-4 reserved reserved. 3-0 receive queue machine state debug access to the rxque state machine. length 32 bits type read/write address xxxx 1e84 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-3 reserved reserved. 2-0 receive queue main machine state debug access to the main rxque state machine.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive queues (rxque) page 386 of 706 pnr261_17rxque.fm.06 august 14, 2000 3.15.31.3 rxque enq fifo head ptr register this register is used to maintain the enqueue fifo. points to the head fifo entry in the fifo array. the msb bit is used to determine if the head is chasing the tail, and is inverted each time the head pointer wraps. 3.15.31.4 rxque enq fifo tail ptr register this register is used to maintain the enqueue fifo. points to the next free fifo entry in the fifo array. the msb bit is used to determine if the head is chasing the tail, and is inverted each time the tail pointer wraps. length 32 bits type read/write address xxxx 1e88 power on reset value x ? 0000 0000 ? restrictions can only be written in diagnostic mode. bit(s) name description 31-5 reserved reserved. 4-0 fifo head pointer pointer to the head entry in the fifo. length 32 bits type read/write address xxxx 1e8c power on reset value x ? 0000 0000 ? restrictions can only be written in diagnostic mode. bit(s) name description 31-5 reserved reserved. 4-0 fifo tail pointer pointer to the tail entry in the fifo.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18npbus.fm.06 august 14, 2000 nodal processor bus interface logic (npbus) page 387 of 706 3.16 nodal processor bus interface logic (npbus) this entity controls the signals of the np bus. the phy registers are accessible to the processor via the address space of the pnr. in addition, the operation of the network interface logic is affected by the npbus status register. this entity also contains a simple processor that can initialize chip registers at boot time by reading a data stream from eprom which specifies the address of registers and data values to which the registers are to be initialized. see 3.16.8 eprom instructions on page 394 for a description of the eprom instructions. 3.16.1 npbus control register this register is used to report phy level hardware errors and interrupts. length 32 bits type clear/set address xxxx 2000 and 2004 power on reset value x ? 0000 2010 ? restrictions none reserved enable phy addr/data multiplexing status led 4 toggle status led 3 toggle status led 2 toggle status led 1 toggle status led 4 flashing status led 3 flashing status led 2 flashing status led 1 flashing status led 4 on status led 3 on status led 2 on status led 1 on +utp/-stp interface select disable driving the np address over the enstate(47 - 32) pins enable carrier detect led enable phy data bus parity detection invert interrupt inputs and phy reset access internal sonet framer register space phy bus interface type enable hardware error to disable phy reboot serial/parallel eprom remove internal sonet framer from reset state force a phy logic reset enable the front end pb0phy2 control external eprom type reserved 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-29 reserved reserved. 28 enable phy addr/data multiplexing this bit set to a ? 1 ? will enable the ale1, ale2, and ale3 control lines for phy and parallel eprom accesses so that additional address bytes can be latched for up to 24meg of addressing. since there is an access speed penalty for this, the default is a ? 0 ? for this function. 27 status led 4 toggle when this bit is set, the state of bit 19 of this register will be toggled by repeatedly set- ting bit 19.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary nodal processor bus interface logic (npbus) page 388 of 706 pnr261_18npbus.fm.06 august 14, 2000 26 status led 3 toggle when this bit is set, the state of bit 18 of this register will be toggled by repeatedly set- ting bit 18. 25 status led 2 toggle when this bit is set, the state of bit 17 of this register will be toggled by repeatedly set- ting bit 17. 24 status led 1 toggle when this bit is set, the state of bit 16 of this register will be toggled by repeatedly set- ting bit 16. 23 status led 4 flashing when set to a ? 1 ? , this bit will flash status indicator led 4. bit 19 of the register will override this bit. 22 status led 3 flashing when set to a ? 1 ? , this bit will flash status indicator led 3. bit 18 of the register will override this bit. 21 status led 2 flashing when set to a ? 1 ? , this bit will flash status indicator led 2. bit 17 of the register will override this bit. 20 status led 1 flashing when set to a ? 1 ? , this bit will flash status indicator led 1. bit 16 of the register will override this bit. 19 status led 4 on when set to a ? 1 ? , this bit will turn on status indicator led 4. 18 status led 3 on when set to a ? 1 ? , this bit will turn on status indicator led 3. 17 status led 2 on when set to a ? 1 ? , this bit will turn on status indicator led 2. 16 status led 1 on when set to a ? 1 ? , this bit will turn on status indicator led 1. 15 +utp/-stp interface select this bit controls a chip output pin to switch high or low and can be used to select differ- ent phy interfaces, etc. when this bit is off, or a logical ? 0 ? , the chip output is high, or a logical ? 1 ? . 14 disable driving the np address over the enstate(47-32) pins for debug reasons, the driven of the address for eprom and phy fetches can be turned off with this bit. 13 enable carrier detect led when set to a ? 1 ? , this bit allow indicator led 1 to reflect the status of carrier detect. this is a chip input. 12 enable phy data bus parity detection when set to a ? 1 ? , if a parity error occurs on the phy data bus during a phy register access, bit 1 of the npbus status register will be set. 11 enable 16 data bit mode for phy reg accesses when this bit is a ? 1 ? , the upper eight bits of a 16-bit phy data (bits 15-8) bus will be transferred over 47- 40 bits of the enstate chip i/o bus. 10 access internal framer register space in memory mapped mode when this bit is a ? 0 ? , the external phy register space can be accessed through phy 1 registers or phy 2 registers. when this bit is set to ? 1 ? , the internal sonet framer registers can be accessed (see 3.23 sonet framer core (framr chiplet address mapping) on page 507). the full offset range for this access is x ? 2100 ? to x ? 2fff ? . the sonet framer register space can also be accessed through the npbus eprom address/command register on page 392 and the npbus eprom data register on page 393. 9 phy bus interface type when this bit is ? 0 ? , phy access speed is 200 ns (suni-like interface). when this bit is ? 1 ? , access requires an acknowledge input response. this is to support a utopia-like micro-processor interface. 8 enable hardware error to disable phy allows bit 4 (master enable) of the intst control register to reset bit 4 of this register (disables front end logic). this function assumes that bit 4 of the intst control reg- ister has already been enabled and that either a hardware or software event has turned the bit off. 7 reboot serial/parallel eprom this bit will restart the external serial or parallel eprom initialization code. 6 remove internal sonet framer from reset state this bit powers up to a zero and keeps the internal sonet framer in reset mode. set- ting this bit to ? 1 ? will enable normal operation. 5do phy reset force a phy logic reset. before any software reset, turn this bit on and off for the phy specified amount of time. if the ibm atm-tc (25 mbps endec) is used, this bit will power-up to an active reset (since the input to the endec is positive reset). this bit must then be turned off for normal operation. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18npbus.fm.06 august 14, 2000 nodal processor bus interface logic (npbus) page 389 of 706 4 enable enable the front end. when this bit is ? 0 ? , no data will be transmitted to or received from the phys or the pnr. see bit 8 for more information on control of this bit. 3-2 pb0phy2 control encoded control for the pb0phy2 output pin. the enabled of pibselo overrides these bits and is controlled by pcint cascade control register. x ? 0 ? enable pb0phy2 pin. x ? 1 ? enable pbdatap pin and its detection of valid parity. x ? 2 ? enable mpmdsel pin. x ? 3 ? reserved. 1 external eprom type this bit will set at reset time as to what type of eprom is detected. when set, a serial eprom has been detected. when set to ? 0 ? , parallel eprom is assumed (or none at all). this will also indicate from what type of device a pci rom access will retrieve vpd data. 0 reduce serial eprom clock when set to ? 1 ? , this bit is used for speeding up sim time for the serial eprom. it will change the time period for the serial eprom clock from 10 s to 85 ns. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary nodal processor bus interface logic (npbus) page 390 of 706 pnr261_18npbus.fm.06 august 14, 2000 3.16.2 npbus status register this register is used to report phy level hardware errors and interrupts. length 32 bits type clear/set address xxxx 2028 and 202c power on reset value x ? 0000 00x1 ? , where x is determined by which type of external ipl eprom is used restrictions none reserved parallel eprom access complete serial eprom access failed serial eprom access complete internal sonet framer interrupt interrupt phy1 phy data bus parity error crisco execution complete 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-7 reserved reserved. 6 parallel eprom access complete the requested action to the parallel eprom has been completed. see 3.16.4 npbus eprom address/command register on page 392. 5 serial eprom access failed the requested action to the serial eprom has missed an acknowledge sequence while trying to complete the action. see 3.16.4 npbus eprom address/command register on page 392. 4 serial eprom access complete the requested action to the serial eprom has been completed. see 3.16.4 npbus eprom address/command register on page 392. 3 internal sonet framer interrupt the internal framer has signaled an interrupt. 2 interrupt phy1 this bit indicates that an interrupt occurred on phy 1. 1 phy data bus parity error when set to ? 1 ? , a data parity was detected over the phy data 8-bit bus. parity checked is odd. 0 crisco execution complete external serial/parallel eprom initialization has run and is completed.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18npbus.fm.06 august 14, 2000 nodal processor bus interface logic (npbus) page 391 of 706 3.16.3 npbus interrupt enable register this register is used to mask bits from the npbus status register and potentially generate interrupts to the control processor. when both a bit in this register and the corresponding bit in the npbus status register are set, an interrupt will be generated from npbus to intst. see 3.16.2 npbus status register on page 390 for the bit descriptions. length 32 bits type clear/set address xxxx 2008 and 200c power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary nodal processor bus interface logic (npbus) page 392 of 706 pnr261_18npbus.fm.06 august 14, 2000 3.16.4 npbus eprom address/command register this register is used to access a maximum of 2 k external serial eprom or 16 m of parallel eprom or the sonet framer core. it is used to access bytes from the external eprom or the sonet framer core. length 32 bits type read/write address xxxx 2010 power on reset value x ? 0000 0100 ? restrictions none reserved framer access: not read/write execute sonet framer access execute parallel eprom access more bytes to read/write serial eprom not read/write execute serial eprom access eprom/sonet framer/extended phy address 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-30 reserved reserved. 29 framer access: not read/write this bit set to ? 1 ? will cause a write function to the sonet framer core. this bit set to ? 0 ? will cause a read function to the sonet framer core. 28 execute sonet framer access this bit will start a read or write function to the sonet framer core. this bit will auto reset after the command is issued. 27 execute parallel eprom access this bit will start a read or write function to the parallel eprom. this bit will auto reset after the command is issued. 26 more bytes to read/write serial eprom this bit set to ? 1 ? will help speed up sequential accesses to the serial eprom. if writ- ing, there is a limit as to how many bytes can be written before the serial eprom write buffer is full. typical range is from two to eight bytes, depending on the device. 25 not read/write this bit set to ? 1 ? will cause a write function to the serial/parallel eprom. this bit set to ? 0 ? will cause a read function to the serial/parallel eprom. 24 execute serial eprom access this bit will start a read or write function to the serial eprom. this bit will auto reset after the command is issued. 23-0 eprom/sonet framer/ extended phy address this holds the address field that will be used to address the serial/parallel eprom or the internal sonet framer. if accessing the interal sonet framer, the addresses listed in sonet framer core (framr chiplet address mapping) on page 507 should be used. it is where the 15-8 address bits will be held if addressing a phy with more address- ability than eight bits.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18npbus.fm.06 august 14, 2000 nodal processor bus interface logic (npbus) page 393 of 706 3.16.5 npbus eprom data register this register is used to access a maximum of 2 k external serial eprom or 16 m of parallel eprom. it can also be used to access the registers of the internal sonet framer. 3.16.6 phy 1 registers this address range provides access to the phy 1 hardware. the details of the registers can be found in the specific publication for the phy hardware. length 32 bits type read/write address xxxx 2018 power on reset value x ? 0000 0000 ? restrictions none reserved read data reserved write data 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-24 reserved reserved. 23-16 read data holds the data that was read back from the serial/parallel eprom or the internal sonet framer. 15-8 reserved reserved. 7-0 write data holds the data that is destined to be written to the serial/parallel eprom or the inter- nal sonet framer. length 256 doublewords (only lowest eight bits valid) type read/write address xxxx 2400 - 27ff power on reset value reference the phy-specific publication. restrictions reference the phy-specific publication.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary nodal processor bus interface logic (npbus) page 394 of 706 pnr261_18npbus.fm.06 august 14, 2000 3.16.7 phy 2 registers this address range provides access to the phy 2 hardware. it should be noted that not all applications of the pnr will use this access port. the details of the registers can be found in the specific publication for the phy hardware. 3.16.8 eprom instructions when using an external eprom connected to the pnr, registers can be initialized using instructions stored in the eprom. the instructions need to begin at offset x ? 0100 ? in the eprom and the last instruction must be a stop instruction. the instruction formats are as follows: length 256 doublewords (only lowest eight bits valid) type read/write address xxxx 2800 - 2bff power on reset value reference the phy-specific publication. restrictions reference the phy-specific publication. eprom instruction format single register write x ? 17 aaaa dddd dddd ? where: x ? aaaa ? = the offset of the register into the address space of the pnr and x ? dddd dddd ? = the 32-bit value that is to be stored in the register. for example, to write x ? 1234 5678 ? to the comet control register ? s set address (x ? 0904 ? ), the instruc- tion would be x ? 17 0904 1234 5678 ? . looping register write x ? 27 aaaa dddd dddd iiii iinn nnnn ? where: x ? aaaa = the offset of the register into the address space of the pnr, x ? dddd dddd ? = the 32 bit value to be stored in the register, x ? ii iiii ? = the amount to increment the address in each iteration, and x ? nn nnnn ? = the number of iterations to perform. for example, to initialize the csked time wheel array which is x ? 8000 ? entries long and is accessed by the csked time wheel array data register (at offset x ? 12cc ? ), the code would first need to set the csked time wheel array pointer register (at offset x ? 12c8 ? ) to 0 via a single register write command and then initialize the array with a looping command. the two commands would then be x ? 17 12c8 0000 0000 ? and x ? 27 12cc 0000 0000 0000 0000 8000 ? . stop instruction x ? ff ? is the stop instruction. it should be placed immediately after all other instructions.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18pools.fm.06 august 14, 2000 buffer pool management (pools) page 395 of 706 3.17 buffer pool management (pools) pools acts as a memory manager for the pnr. memory buffers are checked out and checked in via two operations (primitives) supported by pools: the get pointer primitive and the free pointer primitive. these primitives can be performed explicitly from software by accessing specified addresses within the pools entity, and they may also be done by other pnr entities. for example, c sked can free a buffer upon trans- mission if specified by the corresponding packet header (see packet header on page 673), and reasm gets buffers to store received data. pools also contains mechanisms to control resource utilization and supports a real memory mode and a virtual memory mode. 3.17.1 basic operation in real memory mode if memory is viewed as a series of buffers, pools maintains a circular list of available buffers. there are pointers (the head and tail) to the start and the end of the list. when a get pointer primitive is executed, the buffer at the head of the list is checked out, the head pointer is advanced and the correct resource group(s) is debited. when a free pointer primitive is executed, the freed buffer is checked in at the end of the list, the tail pointer is advanced, and the correct resource group is credited. 3.17.2 basic operation in virtual memory mode with the addition of virtual memory, pools must maintain five sets of head and tail pointers, thresholds, and common counts: one for the virtual buffers themselves and the rest for the four regions of real buffers that constitute the virtual buffers. in this case, the buffer ? s virtual address is the item returned from a get pointer operation and passed as a parameter to a free pointer operation. when the get buffer primitive is executed, pools creates an active buffer map (page table) for the virtual address. as the virtual address is used and buffer (page) boundaries are crossed, vimem will request buffers from pools when a buffer (page) fault occurs. vimem then places the buffer index in the buffer map. when the virtual buffer is no longer needed and a free pointer primitive is issued with the buffer ? s starting virtual address, pools takes the contents of the buffer map and frees the resources that were assigned to the buffer map. 3.17.3 resource controls pools adds another layer of service by creating ? pools ? of buffers (currently a maximum of 16 pools). for each pool, a maximum number of allowable buffers can be specified. the intent is to make it possible for sev- eral applications to use the pnr at once without one or more applications starving the remaining applications for memory buffers. particular pools buffers are divided into ? guaranteed ? and ? common ? buffers. all the guar- anteed buffers are considered to be dedicated to their respective pool and are therefore not available for gen- eral use. the common buffers are all the memory buffers remaining after the guaranteed buffers are subtracted from the total buffers. to maintain the buffer limits on each pool, every pool has a guaranteed threshold, total threshold, and an active count. when a request is made for a buffer from a particular pool, the guaranteed threshold is first checked. if the active count of the pool is less than the guaranteed threshold, the buffer is provided. if the guaranteed threshold has been reached, then the total threshold is checked. if the active count is equal to the total threshold, no buffer is provided. if the active count is less than the total threshold, and a common buffer is available, a buffer is provided. if there are no common buffers available, a buffer cannot be provided and a null index is returned. to determine if a common buffer is available, a count is maintained for each size of buffer.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary buffer pool management (pools) page 396 of 706 pnr261_18pools.fm.06 august 14, 2000 3.17.4 virtual memory overview each virtual buffer consists of a number of real buffers. for each virtual buffer there is a buffer map that defines the size and number of real buffers that may be allocated to the virtual buffer. each map is built from a common template (the vimem virtual buffer segment size register) that associates 1 to n buffer indexes in the map to a real buffer in one of the four real buffer regions defined in vimem. in vimem, the vimem buffer map base address register defines the size of the map and therefore also the number of buffer indexes in the virtual buffer map. each 8-byte entry of the map contains the pool id of the pool to which the buffer is allocated plus space for three real buffer segment indexes. this implies the smallest map yields a vir- tual buffer of one to four real buffer segments (three real buffer segments plus the implicit real buffer that all virtual buffers are allocated). the biggest map defines a virtual buffer of 1-16 real buffer segments (15 plus the implicit one). the intention of this structure is to allow the user to customize the value in the vimem virtual buffer segment size register to utilize memory in an efficient manner relative to network data traffic. for example, if network traffic contained 50% packets of < 512 bytes, 35% packets of < 1 k bytes, and the rest was < 5 k bytes, the user could set up virtual memory to use three real segments of 512 bytes, 512 bytes, and 4 k bytes, respec- tively. the incoming data would neatly fit into the segments and minimize wasted memory. pools and vimem maintain the maps for the virtual buffers. on a write that crosses a real buffer boundary into an as-yet unresolved region of a virtual buffer, a page fault occurs. when a page fault occurs, pools determines whether a real buffer can be assigned. if it can be assigned, the index of the real buffer relative to the base address of the particular buffer size is placed by vimem into the buffer map. the first buffer is implicitly associated with the virtual memory address for a particular virtual buffer and enough real memory must be available to support the first real buffer of each virtual buffer at initialization time. there is not neces- sarily enough real storage for all the possible real buffers associated with a virtual buffer.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18pools.fm.06 august 14, 2000 buffer pool management (pools) page 397 of 706 all real buffers of a particular size are stored in a contiguous region of memory. the buffer index, in conjunc- tion with the base address for this real buffer size, points to a particular real buffer. the implicit buffers are also stored in a data structure of this type. figure 32: virtual address buffer map packet size (17 bits max) 16 bit 16 bit 16 bit 16 bit 16 bit 16 bit 16 bit 16 bit 2 bit 2 bit 2 bit 2 bit 2 bit 2 bit note: the buffer index of the first buffer and buffer limit segment register (32 bits) buffer index of the first buffer in the virtual address (16 bits max) number of bits for largest 32 bit virtual address the virtual address index are the same. also note they are right justified.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary buffer pool management (pools) page 398 of 706 pnr261_18pools.fm.06 august 14, 2000 figure 33: buffer/virtual memory allocation structure in memory buffer size one base index zero buffer size one index one buffer size one index two ...... buffer size one index n skip to next buffer size bound buffer size two base index zero buffer size two index one buffer size two index two ...... buffer size two index n skip to next buffer size bound buffer size three base index zero buffer size three index one buffer size three index two ...... buffer size three index h skip to next buffer size bound buffer size four base index zero buffer size four index one buffer size four index two ...... buffer size four index n skip to implicit buffer base address implicit buffer index zero implicit buffer index one implicit buffer index two ...... implicit buffer index n the single box represents the storage for the whole buffer, whatever its size. these indexes are determined by the virtual buffer ? s virtual address
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18pools.fm.06 august 14, 2000 buffer pool management (pools) page 399 of 706 figure 34: virtual address buffer map buffer,size(4) 256 base index zero buffer, size(4) 256 index one buffer, size(4) 256 index two ... buffer, size(4) 256 index n skip to next buffer size base address buffer, size(0) 256 base index zero buffer, size(0) 256 index one buffer, size(0) 256 index two ... buffer, size(0) 256 index n skip to next buffer size base address buffer, size(1) 1024 base index zero buffer, size(1) 1024 index one buffer, size(1) 1024 index two ... buffer, size(1) 1024 index n skip to next buffer size base address buffer, size(2) 4096 base index zero buffer, size(0) 4096 index one buffer, size(0) 4096 index two ... buffer, size(2) 4096 index n skip to next buffer size base address buffer, size(3) 16384 base index zero buffer, size(3) 16384 index one buffer, size(3) 16384 index two ... buffer, size(3) 16384 index n skip to virtual address base address v.m. address index zero v.m. address index one v.m. address index two v.m. address index n ... brb4 + shifted buffer index 0 + offset into pkt pool id 0000 buffer index implicit 256 byte buffer index size(0) 256 byte buffer index size (0) 256 byte buffer index size (1) 1024 byte buffer index size(3) 16384 unused buffer index 1 buffer index 2 buffer index 0 pool id 0000 buffer index 0 buffer index n segment decode one yes? segment decode two yes? segment decode three yes? segment decode four yes? segment decode fourteen yes? segment decoder brb0 + shifted buffer index 0 + offset into pkt brb0 + shifted buffer index 2 offset into pkt brb1 + shifted buffer index 0 + offset into pkt brb2 + shifted buffer index 0 offset into pkt brb3 + shifted buffer index n offset into pkt virtual address. index implicit buffer index size(4) 0 no. of bits for largest packet size(17 max) packet address region brbm + shifted buffer index 0 + offset into map 16 bits 16 bits 16 bits 16 bits 16 bits 16 bits 16 bits 16 bits 2 bits 2 bits 2 bits 2 bits 2 bits 2 bits base address registers base address register buffer size(0) brb0 base address register buffer size(0) brb0 base address register buffer size(0) brb0 base address register buffer size(0) brb0 base address register buffer size(0) brb0 base address register buffer map brbm packet storage area byte buffer index size(2) 4096 byte segment decode zero yes?
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary buffer pool management (pools) page 400 of 706 pnr261_18pools.fm.06 august 14, 2000 the lower 17 bits of the virtual address are used in conjunction with the segment template in the vimem vir- tual buffer segment size register to determine from which portion of the buffer map the buffer index is retrieved. once the buffer index is retrieved, it is combined with the appropriate base address for that particu- lar buffer size. the offset into the buffer is then added to get the real 32-bit address that is used in physical memory. pools uses the data structures above to manage packet memory resources. each lcd is associated with a particular pool and multiple different lcds may be associated with that same pool. within a pool, there are five different resource categories and two variables to go with each resource. resource type, pool 0000 guaranteed number total number virtual memory addresses 100 150 buffer type one 200 300 buffer type two 50 100 buffer type three 10 5 buffer type four 0 10
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18pools.fm.06 august 14, 2000 buffer pool management (pools) page 401 of 706 3.17.5 pools get pointer primitive the pools get pointer primitive returns a buffer pointer to the requester. the request to the virtual packet/ buffer size 4 address will always return a memory address. if in virtual mode, the address will be virtual. requests made for buffer sizes 0-3 will not return an address but rather a buffer index in bits 15-0. the real address associated with this index can be generated by shifting the index by the buffer size (for example, six bit positions for a 64-byte buffer) and adding the result to the base address for this size buffer. access to buffer sizes 0-3 is not permitted in operational mode. the address of the primitive also selects the pool id. the pool id is contained in address bits 5-2, and it selects which pool will be charged for the pointer. the buffer size is selected with address bits 8-6. if there are no more buffers available in the specified pool, a null pointer is returned. the active pointer count for that pool is incremented if a non-null pointer is returned. if the guaranteed threshold has been exceeded and a buffer from the common pool is returned, the common pools count for that size is decremented by 1. length 32 bits type read only address buffer size 0 xxxx 3200 buffer size 1 xxxx 3240 buffer size 2 xxxx 3280 buffer size 3 xxxx 32c0 virtual packets/ buffer size 4 xxxx 3300 power on reset value x ? 0000 0000 ? restrictions during normal operations this register is to be used as a read only register. writes to this address will be ignored.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary buffer pool management (pools) page 402 of 706 pnr261_18pools.fm.06 august 14, 2000 3.17.6 pools free pointer primitive the pools free pointer primitive returns the buffer to the proper free list. if it is a virtual memory address, the virtual memory buffer map is traversed to free the indexes associated with the virtual memory address. in the case where it is a real memory buffer, the single index is freed. this primitive uses address mapping to select the size of the object to be freed. the size is contained in address bits 4-2. during normal operation, only frees to buffer size four are relevant. during initialization mode, buffer sizes 0 to 3 can be used to load indexes. the indexes are loaded into bits 31-16. in normal operations, it is not necessary to read this register. length 32 bits type write only address buffer size 0 xxxx 3350 buffer size 1 xxxx 3354 buffer size 2 xxxx 3358 buffer size 3 xxxx 335c virtual packets/ buffer size 4 xxxx 3360 power on reset value x ? 0000 0000 ? restrictions during normal operations this register is to be used as a write only register. reads from this address will return ? 0 ? .
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18pools.fm.06 august 14, 2000 buffer pool management (pools) page 403 of 706 3.17.7 pools common pools count registers the pools common pools count registers indicate the number of buffers for their respective buffer sizes that are available for use by any of the 16 pools. if the value of the register is non-zero, any pool that gets a buffer beyond its guaranteed number will decrement the register ? s value by one. if the value of the register is zero, any attempt to get a buffer will fail. if a pool frees a buffer it has gotten from the common supply, this register will increment by one. software should initialize these registers to the number of common buffers of each size that it requires. length 32 bits type read/write address buffer size 0 xxxx 3000 buffer size 1 xxxx 3004 buffer size 2 xxxx 3008 buffer size 3 xxxx 300c virtual packets / buffer size 4 xxxx 3010 power on reset value x ? 0000 0000 ? restrictions during normal operations, these registers should be only be read. writing to these registers during normal operation could create a data loss situation. these registers should be set up by software at initialization time. bit(s) name description 31-16 reserved reserved. 15-0 common count number of free buffers in the common pool for the respective buffer size.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary buffer pool management (pools) page 404 of 706 pnr261_18pools.fm.06 august 14, 2000 3.17.8 pools client thresholds array the pools client thresholds array holds the guaranteed and total threshold values for the 16 pools and the four (five) pointer sizes. to access the thresholds for a respective pool and buffer size, take the base address of x ? 3400 ? and replace bits 5-2 with the pool id and bits 8-6 with the buffer size. for example, to access the pool 6 thresholds for buffer size 3, replace bits 5-2 with binary ? 0110 ? and bits 8-6 with binary ? 011 ? . the result is address x ? 34d8 ? . when a get pointer primitive is processed, the values in this array are used to determine if a primitive can return a pointer to a buffer. the active count from the active packet count array is used with these registers to determine if a threshold has been exceeded. if the guaranteed threshold has been exceeded and the total has not been exceeded and there is a common buffer available, then the common count will be incremented. if there are no common buffers available or the request will cause the total threshold to be exceeded, the request will be rejected. during a free pointer primitive processing, the buffer is returned to the free list and these thresholds are used to determine if a common count should be credited. length 32 bits x 16 words type read/write address buffer size 0 xxxx 3400 buffer size 1 xxxx 3440 buffer size 2 xxxx 3480 buffer size 3 xxxx 34c0 virtual packets/ buffer size 4 xxxx 3500 power on reset value x ? 0000 0000 ? restrictions none guaranteed threshold total threshold 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 guaranteed threshold the number of buffers of the respective size that the selected pool is guaranteed to have available. 15-0 total threshold the total number of buffers of the respective size that the selected pool is allowed to have.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18pools.fm.06 august 14, 2000 buffer pool management (pools) page 405 of 706 3.17.9 pools user threshold and client active packet count array the pools user threshold and client active packet count array holds the user thresholds and active pointer counts for each of the 16 managed pools and four (five) pointer sizes. to access the user threshold and active packet count for a respective pool and buffer size, take the base address of x ? 3600 ? and replace bits 5-2 with the pool id and bits 8-6 with the buffer size. for example, to access the pool 6 user threshold and active packet count for buffer size 3, replace bits 5-2 with binary ? 0110 ? and bits 8-6 with binary ? 011 ? . the result is address x ? 36d8 ? . when a get pointer primitive is processed, the active count is retrieved and compared with the threshold counts. if it falls within bounds and a buffer is available, the active count will be incremented by one reflecting the additional buffer charged to that queue. when a free pointer primitive is processed, the active count is retrieved, and, when the buffer is returned to the free list, the active buffer count is decremented by one. the user threshold may be used to check on resource utilization as opposed to resource allocation. the guaranteed and total thresholds are used when allocating resources to make decisions. the user thresh- old is not used to govern resource allocation directly. one use for the user threshold is for high water mark indication. when a free pointer primitive is processed or a get pointer is processed, the active packet count is compared to the user threshold. if the event interface is enabled and a boundary condition is crossed, an event is issued to the event interface. length 32 bits x 16 words type read/write address buffer size 0 xxxx 3600 buffer size 1 xxxx 3640 buffer size 2 xxxx 3680 buffer size 3 xxxx 36c0 virtual packets/ buffer size 4 xxxx 3700 power on reset value x ? 0000 0000 ? restrictions none user threshold active packet count 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 user threshold the number of buffers of the respective size that the selected pool is guaranteed to have available 15-0 active packet count the current number of buffers charged to the selected pool.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary buffer pool management (pools) page 406 of 706 pnr261_18pools.fm.06 august 14, 2000 3.17.10 pools pointer queues dram head pointer offset address register the pools pointer queues dram head pointer offset address register indicates the address in dram where the head of the queue starts. this address, however, is only relative to the dram portion of the queue. unless the head of the queue portion of the cache is locked out and needs two frames, the actual head of the queue is in the cache. these 19 bits on write represent the offset to the address in dram of the head of the queue relative to the dram base address. on a read, the address in dram of the pointer is returned. this pointer is adjusted every time a cache frame boundary is crossed and a cache update cycle is completed to write through the additional queue elements. because each memory reference contains four indices, this allows for a possible 128 k index location in the queue. length 32 bits read/19 bits write type read/write address buffer size 0 xxxx 3014 buffer size 1 xxxx 3018 buffer size 2 xxxx 301c buffer size 3 xxxx 3020 virtual packets/ buffer size 4 xxxx 3024 power on reset value buffer size 0 x ? 0001 c000 ? buffer size 1 x ? 0002 0000 ? buffer size 2 x ? 0002 4000 ? buffer size 3 x ? 0002 6000 ? virtual packets/ buffer size 4 x ? 0002 7000 ? restrictions during normal operations this register is to be used as a read only register. this register defaults to zero at initialization. it is assumed that the queues start on a maximum size queue boundary. these registers should be set up at initialization time. this register is cleared when the pools pointer queues dram lower bound address register is written to.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18pools.fm.06 august 14, 2000 buffer pool management (pools) page 407 of 706 3.17.11 pools pointer queues dram tail pointer offset address register the pools pointer queues dram tail pointer offset address register indicates the offset address in dram where the tail of the queue starts. this address, however, is only relative to the dram portion of the queue. unless a ? no cache frames to be written through ? state is in effect, the actual tail of the queue is in the cache. these 19 bits on write represent the offset to the address in dram of the tail of the queue relative to the dram base address. on a read, the address in dram of the pointer is returned. this pointer is adjusted every time a cache frame boundary is crossed and a cache update cycle is completed to write through the additional queue elements. because each memory reference contains four indices, this allows for a possible 128 k index location in the queue. length 32 bits type read/write address buffer size 0 xxxx 3028 buffer size 1 xxxx 302c buffer size 2 xxxx 3030 buffer size 3 xxxx 3034 virtual packets/ buffer size 4 xxxx 3038 power on reset value buffer size 0 x ? 0001 c000 ? buffer size 1 x ? 0002 0000 ? buffer size 2 x ? 0002 4000 ? buffer size 3 x ? 0002 6000 ? virtual packets/ buffer size 4 x ? 0002 7000 ? restrictions during normal operations this register is to be used as a read only register. this register defaults to zero at initialization. it is assumed that the queues start on the maximum size queue boundary. this register should be set up at initialization time. this register is cleared when the pools pointer queues dram lower bound address register is written to. bit(s) name description 31-16 reserved reserved. 15-0 tail pointer pointer to the tail of the queue for the respective buffer size.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary buffer pool management (pools) page 408 of 706 pnr261_18pools.fm.06 august 14, 2000 3.17.12 pools pointer queues dram lower bound address register the pools pointer queues dram lower bound address register indicates the address in dram where the queue data structure is initially started. when the queue reaches the maximum address allowed for in the upper bound register, it wraps back around to the address specified in this register. this implements the queue in a circular buffer. these 32 bits represent the address in dram where the queue begins and eventually wraps to. at initializa- tion, this register and the pools pointer queues dram tail pointer offset address register and the pools pointer queues dram head pointer offset address register must be equal. length 32 bits type read/write address buffer size 0 xxxx 303c buffer size 1 xxxx 3040 buffer size 2 xxxx 3044 buffer size 3 xxxx 3048 virtual packets/ buffer size 4 xxxx 304c power on reset value buffer size 0 x ? 0001 c000 ? buffer size 1 x ? 0002 0000 ? buffer size 2 x ? 0002 4000 ? buffer size 3 x ? 0002 6000 ? virtual packets/ buffer size 4 x ? 0002 7000 ? restrictions during normal operations, this register is to be used as a read only register. this register should be set up at initialization time. the size of the dram queue storage formed with the lower and upper bounds is constrained in its size. it can be written when the diagnostic mode bit is set, otherwise the write is ignored. note that if the maximum queue length exceeds the space available in the circular buffer, data cor- ruption will occur when the actual queue length exceeds the maximum queue space available.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18pools.fm.06 august 14, 2000 buffer pool management (pools) page 409 of 706 3.17.13 pools pointer queues dram upper bound register the pools pointer queues dram upper bound register indicates the max queue length in dram of the queue data structure. when the queue reaches this address, it wraps back to the address specified by the lower bound register. this implements the queue in a circular buffer. this upper bound is to be provided as an encoded field. the encoded field represents the number of 8-byte addresses that can be contained by the queue. the four non-reserved bits represent the encoded maximum queue length in dram which, when matched, trigger the queue to wrap back to the address contained in the dram lower bound address register. length 32 bits type read/write address buffer size 0 xxxx 3050 buffer size 1 xxxx 3054 buffer size 2 xxxx 3058 buffer size 3 xxxx 305c virtual packets/ buffer size 4 xxxx 3060 power on reset value buffer size 0 x ? 0000 000b ? buffer size 1 x ? 0000 000a ? buffer size 2 x ? 0000 0009 ? buffer size 3 x ? 0000 0009 ? virtual packets/ buffer size 4 x ? 0000 000b ? restrictions during normal operations, this register is to be used as a read only register. this register should be set up at initialization time. the size of the dram queue storage which is formed with the lower and upper bounds is constrained in its size. it can be written when the diagnostic mode bit is set, otherwise the write is ignored. note that if the maximum queue length exceeds the space available in the circular buffer, data corruption will occur when the actual queue length exceeds the maximum queue space available.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary buffer pool management (pools) page 410 of 706 pnr261_18pools.fm.06 august 14, 2000 3.17.14 pools pointer queues length registers the pools pointer queues length registers indicate the length of the queue. the bits are a 16-bit count. a primitive that adds to the queue increments this counter. primitives that remove items from the queue decre- ment this counter. bit(s) name description 31-4 reserved reserved. 3-0 max queue length encoded value number of 32 bit words number of indexes x ? 0 ? 816 x ? 1 ? 16 32 x ? 2 ? 32 64 x ? 3 ? 64 128 x ? 4 ? 128 256 x ? 5 ? 256 512 x ? 6 ? 512 1024 x ? 7 ? 1024 2048 x ? 8 ? 2048 4096 x ? 9 ? 4096 8192 x ? a ? 8192 16384 x ? b ? 16384 32768 x ? c ? 32768 65536 x ? d ? 65536 131072 x ? e ? 65536 131072 x ? f ? 65536 131072 length 32 bits type read/write address buffer size 0 xxxx 3064 buffer size 1 xxxx 3068 buffer size 2 xxxx 306c buffer size 3 xxxx 3070 virtual packets / buffer size 4 xxxx 3074 power on reset value x ? 0000 0000 ? restrictions during normal operations, this register is to be used as a read only register. it can be written when the diagnostic mode bit is set, otherwise the write is ignored. this register is cleared when the pools pointer queues dram lower bound address register is written to. bit(s) name description 31-16 reserved reserved. 15-0 queue length length of the queue for the respective size buffer.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18pools.fm.06 august 14, 2000 buffer pool management (pools) page 411 of 706 3.17.15 pools interrupt enable register this register is used to enable bits from the pools status register to generate interrupts to intst. when both a bit in this register and the corresponding bit in the pools status register are set, the pools inter- rupt to intst will be enabled. see 3.17.19 pools status register on page 414 for the bit descriptions. 3.17.16 pools event enables register this register is used to enable an event based on bits from the corresponding primitive transaction. if the bits are set in the enable and a transaction occurs that matches the event, an event will be sent to the rxque. length 32 bits type clear/set address xxxx 3078 and 307c power on reset value x ? 0003 f800 ? restrictions none length 32 bits type clear/set address guaranteed event enables xxxx 3a00 and 3a04 total event enables xxxx 3a08 and 3a0c user event enables xxxx 3a10 and 3a14 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-16 reserved reserved. 15-0 event enables the bit numbers of the bits in this register correspond to pool ids (bit 15 corresponds to pool 15, etc.). if a bit in this register is on, and the corresponding pool has reached the threshold type this register supports (guaranteed, total user), an event is generated to rxque.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary buffer pool management (pools) page 412 of 706 pnr261_18pools.fm.06 august 14, 2000 3.17.17 pools event hysteresis register the pools event hysteresis register provides the capability for hysteresis on threshold checking. length 32 bits type read/write address xxxx 3a18 power on reset value x ? 0000 0000 ? restrictions none reserved hysteresis value 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-8 reserved reserved. 7-0 hysteresis value when a free occurs, the value in this register is added to the next active packet count. this value will be then tested against the threshold value. if it is equal to the threshold, an event will be issued if events are enabled and the event associated with this transaction is enabled.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18pools.fm.06 august 14, 2000 buffer pool management (pools) page 413 of 706 3.17.18 pools event data register the pools event data register provides the data sent on the last event. length 32 bits type read only address xxxx 3a1c power on reset value x ? 0000 003e ? restrictions none free processed gtd threshold match with hysteresis free processed total threshold match with hysteresis free processed user threshold match with hysteresis get processed gtd threshold match get processed total threshold match get processed user threshold match reserved pool id of the event reserved buffer size of the event reserved event source id 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31 free processed gtd threshold match with hysteresis this event occurs when a free is processed and the threshold is matched. the threshold is modified by the value in the hysteresis register. the event is issued when the actual value of the active packet count plus the hysteresis equals the threshold. 30 free processed total threshold match with hysteresis this event occurs when a free is processed and the threshold is matched. the threshold is modified by the value in the hysteresis register. the event is issued when the actual value of the active packet count plus the hysteresis equals the threshold. 29 free processed user threshold match with hysteresis this event occurs when a free is processed and the threshold is matched. the threshold is modified by the value in the hysteresis register. the event is issued when the actual value of the active packet count plus the hysteresis equals the threshold. 28 get processed gtd threshold match this event occurs when a get is processed and the threshold is matched. the event is issued when the new active packet count equals the threshold. 27 get processed total threshold match this event occurs when a get is processed and the threshold is matched. the event is issued when the new active packet count equals the threshold. 26 get processed user threshold match this event occurs when a get is processed and the threshold is matched. the event is issued when the new active packet count equals the threshold. 25-20 reserved reserved.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary buffer pool management (pools) page 414 of 706 pnr261_18pools.fm.06 august 14, 2000 3.17.19 pools status register the pools status register provides status information about pools operations. 19-16 pool id of the event this indicates which pool is associated with this event. 15-11 reserved reserved. 10-8 buffer size of the event this indicates which size is associated with this event. 7-6 reserved reserved. 5-0 event source id this indicates that pools is associated with this event. length 32 bits type clear/set address xxxx 3080 and 3084 power on reset value x ? 0000 0000 ? restrictions during normal operations, if a status bit is cleared, it will be reset if the condition that is causing it is still present. reserved pools event issued packet memory access timer expired control memory access timer expired pools locked initialization error detected unused buffer freed error bad map detected active count error detected bad index detected pointer common buffers size 4 exhausted common buffers size 3 exhausted common buffers size 2 exhausted common buffers size 1 exhausted common buffers size 0 exhausted buffer size 4 threshold crossed buffer size 3 threshold crossed buffer size 2 threshold crossed buffer size 1 threshold crossed buffer size 0 threshold crossed get pointer primitive failed 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-21 reserved reserved. 20 pools event issued this bit is set when a pools event is issued. 19 packet memory access timer expired this bit is set when the packet memory access timer hits the packet memory access threshold and the control bit in the control register is set to enable this function. 18 control memory access timer expired this bit is set when the control memory access timer hits the control memory access threshold and the control bit in the control register is set to enable this function. 17 pools locked this bit is set when a lock enable bit is set and the corresponding status bit is set. this causes all state machines to be held in idle once this bit is set. it is the functional equiva- lent to pools control register bit 0. 16 initialization error detected this bit is set when too many indexes are freed to a queue. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18pools.fm.06 august 14, 2000 buffer pool management (pools) page 415 of 706 15 unused buffer freed error this bit is set when a previously freed buffer is detected during a free operation. this typ- ically would occur when the buffer was freed two or more times. 14 bad map detected this bit is set when a bad map is detected during a free operation. 13 active count error detected this bit is set when an active packet count is decremented from ? 0 ? to x ? ffff ? . this is most likely the result of a subtle map corruption where a pool id has been changed. 12 bad index detected this bit is set when an index threshold is crossed. 11 free pointer primitive null detected/max pointer queue length exceeded. this bit is set as a result of one of two detectable errors: null index detected within free address. total allowed storage for a particular queue has been exceeded. 10 common buffers size 4 exhausted common buffer count for size 4 is zero. 9 common buffers size 3 exhausted common buffer count for size 3 is zero. 8 common buffers size 2 exhausted common buffer count for size 2 is zero. 7 common buffers size 1 exhausted common buffer count for size 1 is zero. 6 common buffers size 0 exhausted common buffer count for size 0 is zero. 5 buffer size 4 threshold crossed the number of size 4 buffers is equal to or less than the threshold that was set for size 4 buffers. 4 buffer size 3 threshold crossed the number of size 3 buffers is equal to or less than the threshold that was set for size 3 buffers. 3 buffer size 2 threshold crossed the number of size 2 buffers is equal to or less than the threshold that was set for size 2 buffers. 2 buffer size 1 threshold crossed the number of size 1 buffers is equal to or less than the threshold that was set for size 1 buffers. 1 buffer size 0 threshold crossed the number of size 0 buffers is equal to or less than the threshold that was set for size 0 buffers. 0 get pointer primitive failed this bit is set when a null address is returned on a get. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary buffer pool management (pools) page 416 of 706 pnr261_18pools.fm.06 august 14, 2000 3.17.20 pools control register the pools control register provide status information about pools operations. length 32 bits type clear/set address xxxx 30c8 and 30cc power on reset value x ? 0000 2001 ? restrictions caution must be used when asserting some of the bits during operation. reserved primitive trap source selector lock pools on error packet high priority on get or free fifos full packet high priority always control high priority always packet high priority with request timer control high priority with request timer fast free mode initialization mode virtual memory mode limit event generation enable event interface enable out of range index checking force all queue transactions to memory diagnostic mode 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) function description 31-19 reserved reserved. 18 use compressed virtual maps this bit selects compressed virtual maps when set. 17-14 primitive trap source selector these bits will select the source of the last primitive trapped register. 0000 free from the pci bus 0001 free from reasm 0010 free from rxque 0011 free from csked 0100 free from segbf 0101 free from dmaqs 0110 get from pci bus 0111 get from reasm 1(ra) 1000 get from dmaqs 1001 get from vimem (pool id (4 bits)), size (2 bits), blank (10 bits), index (16 bits)) 1010 get from reasm 0(rc) 1011 free from pcore dcr 1100 get from pcore dcr 13 lock pools on error when set, this bit in conjunction with the lock mask will hold pools state machines in an idle state until cleared.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18pools.fm.06 august 14, 2000 buffer pool management (pools) page 417 of 706 12 packet high priority on get or free fifos full when set, this bit causes pools to turn on its high priority request to packet memory when either the free or get fifo is full. 11 packet high priority always when set, this bit causes pools to always use its high priority request to packet mem- ory. 10 control high priority always when set, this bit causes pools to always use its high priority request to control mem- ory. 9 packet high priority with request timer when set, this bit causes pools to time the wait for packet memory service and when the timer expires move to high priority. 8 control high priority with request timer when set, this bit causes pools to time the wait for control memory service and when the timer expires move to high priority. 7 fast free mode when this bit is set, fast free mode is enabled. when pools is in fast free mode, it does not write out the buffer map with the modified control information that indicates that the map is unused. when in this mode unused buffer-free error checking is disabled. 6 initialization mode when the value of the bit is ? 0 ? , initialization mode is set. when the value is ? 1 ? , operational mode is set. during initialization mode indexes are in the upper 16 bits of the data word. it is assumed that when initialization mode is on other normal operations are not active such as transmit or receive. during operational mode packet addresses assumed to be on the data bus. 5 virtual memory mode when set to ? 0 ? , virtual memory mode is enabled. when set to ? 1 ? , real memory mode is enabled. 4 limit event generation when set, this bit causes pools to limit the issuance of events to rxque when a gtd threshold, total threshold or pool threshold is reached. it will issue the first event and disable the related event enable bit. software must then reset the bit if it wishes to see another such event. however, it is possible that events may be lost when this bit is set on. 3 enable event interface when set, this bit causes pools to issue resource events to rxque when a gtd threshold, total threshold or pool threshold is reached. 2 enable out of range index checking when set, this bit causes pools to check the indexes that are streaming by to be checked against a maximum value for that size index. if the normal initialization sequence is used, these maximum values will auto set. 1 force all queue transactions to memory when set, this bit disables the internal tail to head transfer path within the queue. all indexes will proceed into memory before being brought to the head of the queue. this effectively preserves the operational history in memory. however, some caution is war- ranted since four full entries are required for a write to memory. this could cause indexes to get ? stuck ? at the back of the queue. when this residue occurs, a zero pointer is returned even though the operation might have otherwise returned a valid pointer. 0 diagnostic mode when set, pools is in diagnostic mode. when cleared, pools is in normal mode. when in diagnostic mode, state machines are idle. if they are already active, once they go idle they will hold there. bit(s) function description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary buffer pool management (pools) page 418 of 706 pnr261_18pools.fm.06 august 14, 2000 3.17.21 pools buffer threshold registers 0-4 the pools buffer threshold registers 0-4 is the threshold set by the software to set the threshold crossed bit in the pools status register. this register is used to compare with the queue length register. this register consists of a 16-bit count match. the threshold count is compared to the queue length count. if the queue length is less than the value in this register, the appropriate bit is set in the status register respec- tive to this queue. length 32 bits type read/write address buffer size 0 xxxx 3088 buffer size 1 xxxx 308c buffer size 2 xxxx 3090 buffer size 3 xxxx 3094 virtual packets/ buffer size 4 xxxx 3098 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-16 reserved reserved. 15-0 buffer threshold user defined value to compare with the queue length register for the respective queue size.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18pools.fm.06 august 14, 2000 buffer pool management (pools) page 419 of 706 3.17.22 pools index threshold registers 0-4 the pools index threshold registers 0-4 provide error checking. these are the thresholds set by the soft- ware or hardware to set the index threshold crossed bit in the pools status register. this register is used to check indexes during free operations to look for an out of bounds index. each register consists of a 16-bit compare value. the threshold count is compared to the index while being processed. if an index is greater than the value in this register, the appropriate bit is set in the status register. 3.17.23 pools last primitive trap register the pools last primitive trap register provide debug assistance. it contains the 32-bit last primitive address, and it is the last primitive address to pools, as selected in the pools control register, while in operational mode. length 32 bits type read/write address buffer size 0 xxxx 30f0 buffer size 1 xxxx 30f4 buffer size 2 xxxx 30f8 buffer size 3 xxxx 30fc virtual packets/ buffer size 4 xxxx 3100 power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-16 reserved reserved. 15-0 index threshold value used to compare indexes during free operations. length 32 bits type read only address xxxx 30e8 power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary buffer pool management (pools) page 420 of 706 pnr261_18pools.fm.06 august 14, 2000 3.17.24 pools last buffer map read on free register the pools last buffer map read on free register provides debug assistance. it contains the 32-bit address of the buffer map used in the last free operation, and it is the address of the last buffer map read on a free. 3.17.25 pools error lock enable register the pools error lock enable register provides the ability to halt pools when the corresponding status bit in the status register is set. when a bit in this register corresponds to a bit set in the status register, the state machines in pools will be held in idle state until the lock is disabled. length 32 bits type read only address xxxx 30ec power on reset value x ? 0000 0000 ? restrictions none length 32 bits type clear/set address xxxx 30d8 and 30dc power on reset value x ? 0000 f800 ? restrictions none bit(s) name description 31-22 reserved reserved. 21-0 lock enables when one of these bits is on and the corresponding bit in the pools status register is on, the memory subsytem will halt.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_18pools.fm.06 august 14, 2000 buffer pool management (pools) page 421 of 706 3.17.26 pools packet and control memory access threshold the pools packet and control memory access threshold timers are used to help limit the amount of time that pools can be held off from its respective memory. the bits are a 12-bit count. when the proper bit in the pools control register is set and a request is made to the requisite memory, a counter is loaded with this value. the counter will then count down to zero in 15 ns ticks. when it hits zero, it forces the request to high priority. length 32 bits type read/write address packet memory timer threshold xxxx 30e4 control memory timer threshold xxxx 30e0 power on reset value x ? 0000 0080 ? restrictions none bit(s) name description 31-12 reserved reserved. 11-0 access holdoff time value to load into access timers. when a timer is loaded with this value, it will count down until either memory is accessed or it hits 0. if it hits 0, pools will change its memory request from low to high priority.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary buffer pool management (pools) page 422 of 706 pnr261_18pools.fm.06 august 14, 2000 3.17.27 pools buffer map group the pools buffer map group holds the buffer map of the packet that is in the process of being freed. from this map, the pool id and the indexes used are returned to their correct queue. this register consists of a 16-bit flag field and 16-bit indexes. the flag field contains the pool id and the valid bit. when a packet is freed, the valid bit is set to ? 0 ? . when a get operation occurs, the valid bit is then set. this helps to find address duplicates and other address related problems that software can generate. length 32 bits type read/write address upper 16 bits: lower 16 bits: flag field 0 index 0 xxxx 309c index 1 index2 xxxx 30a0 flag field 1 index 3 xxxx 30a4 index 4 index 5 xxxx 30a8 flag field 2 index 6 xxxx 30ac index 7 index 8 xxxx 30b0 flag field 3 index 9 xxxx 30b4 index 10 index 11 xxxx 30b8 flag field 4 index 12 xxxx 30bc index 13 index 14 xxxx 30c0 power on reset value x ? ffff ffff ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 423 of 706 3.18 processor core (pcore) pcore contains the on-board processor and its local subsystems. the primary intent is to run available bit rate (abr) control software and user application code such as protocol termination/assist code. pcore contains all of the arbitration logic used to give cobra (the chip onboard risc architecture entity) access to the chip facilities, and for the other chip facilities to access ocm. 3.18.1 pcore entity overview 3.18.1.1 dcr interface the device control register (dcr) interface is a special processor bus to access local registers. these include serial port registers and various other registers. 3.18.1.2 interrupt controller this logic manages the interrupts that are passed to the cobra core. there are two levels of interrupt for the core: critical interrupts and normal interrupts. interrupts can be taken from both on chip and off chip sources. pcore has a variety of interrupt source and enable registers. figure 35: pcore structure pcore cobra icache dcache ocm load/ store unit fetch unit (bpu) (lsu) alu spr 1 pci pakit pci dcr bus comet rxque dmaqs mux mux mux mux pnr registers 1 cobra ? s special purpose registers can be accessed by pcore cobra spr access address register on page 455, pcore cobra spr read data access register on page 456, and pcore cobra spr read data access register on page 456. dcr mapped subset
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 424 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.1.3 bridge-address translation the cobra core can access a variety of memory subsystems. facilities are provided that allow multiple subsystem accesses. processor address space is translated into target memory system addresses. for the most part, this allows the processor to be unaware of target memory address space considerations while run- ning mainline code. 3.18.1.4 ocm sram ocm is provided for the use of the processor. typical access time to the ocm is a single cycle, the same as for cache. address translation facilities have been added to make more efficient use of this memory via addi- tional and extended bat registers. 3.18.1.5 control memory control memory can be accessed by the processor. this memory may be mapped into the processor space in a number of different ways. 3.18.1.6 packet memory packet memory can be accessed by the processor. this memory may be mapped into the processor space in a number of different ways. packet memory space also includes the virtual memory space of the pnr. 3.18.1.7 pci master interface-external the processor can access the pci bus through this interface. parts of pci space are mapped into processor space. there are a number of different ways this can be mapped into processor space. 3.18.1.8 pnr register space this access mode of the pci master interface allows access to the internal pnr registers. this access is handled internally and does not affect the external pci bus.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 425 of 706 3.18.2 pcore control register the pcore control register provides control information about pcore operations. length 32 bits type clear/set address xxxx 4000 and 4004 dcr address x ? 262 ? and x ? 263 ? power on reset value x ? 000e 4009 ? restrictions caution must be used when asserting some of the bits during operation. reserved clear instruction cache clear data cache spr state machine abort control memory access priority high on latency timer max crossing control memory access priority high on write fifo full control memory access priority high packet memory access priority high on latency timer max crossing packet memory access priority high on write fifo full packet memory access priority high lock arbit on error pci master write around fifo disable packet memory write around fifo disable control memory write around fifo disable pools get/free pointer offset reserved jtag hold most recent error status cobra hold most recent event status auto ack on hang or error detected fdma virtual memory error normal/critical interrupt dcache virtual memory error normal/critical interrupt memory lock normal/critical interrupt 64 bit dcr primitives target access dead man timer master disable serial port receive interrupt priority serial port transmit interrupt priority pci master wait on writes enable boot time system reset exception disable lock pcore on error cobra core run state diagnostic/operational mode 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-30 reserved reserved. 29 clear instruction cache this bit will cause the instruction cache to clear itself to a known state. it will also cause the processor to be in stop state when this happens. it will be cleared when the cache has finished. 28 clear data cache this bit will cause the data cache to clear itself to a known state. it will also cause the pro- cessor to be in stop state when this happens. it will be cleared when the cache has fin- ished. 27 spr state machine abort this bit will put the spr access machine into a reset state, so it should be used by setting and then clearing. 26 reserved reserved.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 426 of 706 pnr261_19pcore.fm.06 august 14, 2000 25 control memory access priority high on write fifo full when set, control memory accesses will switch to high priority when the control memory write around fifo is full. 24 control memory access priority high when set, control memory accesses will be at high priority always. 23 reserved reserved. 22 packet memory access priority high on write fifo full when set, packet memory accesses will switch to high priority when the packet memory write around fifo is full. 21 packet memory access priority high when set, packet memory accesses will be at high priority always. 20 lock arbit on error when set to ? 1 ? , this will cause a lock command to be issued to arbit to halt the memory subsystem. 19 pci master write around fifo disable disables the write around buffer for pci master. when enabled, write data from either the icach or dcach is buffer through this fifo on writes. 18 packet memory write around fifo disable disables the write around buffer for packet memory. when enabled, write data from either the icach or dcach is buffer through this fifo on writes. 17 control memory write around fifo disable enables the write around buffer for control memory. when enabled write data from either the icach or dcach is buffer through this fifo on writes. 16 pools get/free pointer offset when this bit is written to ? 1 ? , the addition of an offset to the get pointer primitive and the subtraction of an offset from the free pointer primitive are enabled. 15 reserved reserved. 15 disable xfer abort on pseudo core reset when this bit is written to ? 1 ? , transfer aborts on pseudo resets are disabled; when ? 0 ? , the core master state machines will be put into idle. 14 jtag hold most recent error sta- tus when this bit is written to ? 0 ? , the jtag error status register will free run. when set to ? 1 ? it will hold the most recent error status. 13 cobra hold most recent event status when this bit is written to ? 1 ? , cobra core hold its most recent internal event status. when set to ? 0 ? it will free run. 12 auto ack on hang or error detected when this bit is written to ? 0 ? , pcore will not auto ack on hang or error. this may leave the processor in a totally stuck state. however corrupted information may be stopped from entering the processor. when set to ? 1 ? and hang or error conditions manifest reads may return garbage and write data may be lost but the processor should not be stopped cold. 11 fdma virtual memory error nor- mal/critical interrupt when this bit is written to ? 0 ? , pcore will treat an pnr virtual memory write error as a critical interrupt. when it is ? 1 ? , this condition will be treated as a normal interrupt. 10 dcache virtual memory error nor- mal/critical interrupt when this bit is written to ? 0 ? , pcore will treat an pnr virtual memory write error as a critical interrupt. when it is ? 1 ? , this condition will be treated as a normal interrupt. 9 memory lock normal/critical interrupt when this bit is written to ? 0 ? , pcore will treat memory locked as a critical interrupt. when it is ? 1 ? , this condition will be treated as a normal interrupt. 8 64 bit dcr primitives when set, the three dcr primitives work in 64-bit mode. in this mode, the first access to the primitive register is to the upper 32 bits. the second reference is to the lower 32 bits. the second access triggers the completion of the operation at the destination. 7 target access dead man timer master disable when set, this will disable all of the target access dead man timers: pci master, control memory, packet memory, pnr registers, and dcr. 6 serial port receive interrupt prior- ity when set, this will cause the receive interrupt to be a critical interrupt. when not set, it is a regular interrupt. 5 serial port transmit interrupt pri- ority when set, this will cause the transmit interrupt to be a critical interrupt. when not set, it is a regular interrupt. 4 pci master wait on writes enable when set, this will cause the pci access machine to wait until the data is actually con- firmed written to the device. normally, this bit is set to off since it decreases performance when enabled. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 427 of 706 3 boot time system reset excep- tion when set, this bit will issue a system boot reset exception to the cobra core processor. it is reset by the cobra core processor after it has received the system reset exception. 2 disable lock pcore on error when this bit is set and an error occurs and the corresponding lock enable bit is set, pcore will lock. this state is equivalent to being in diagnostic mode. 1 cobra core run state when set, this will place the cobra core into run state. when not set, the processor will return to idle state. 0 diagnostic/operational mode when set, pcore is in diagnostic mode. when cleared, pcore is in operational mode. when in diagnostic mode, state machines are held in idle. if they are already active, when they go to idle they will hold there. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 428 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.3 pcore reset control register the pcore reset control register provides control information about pcore reset operations. length 32 bits type clear/set address xxxx 4238 and 423c power on reset value x ? 000e 0009 ? restrictions caution must be used when asserting some of the bits during operation. reserved enable pseudo core resets for cobra core reset enable pseudo core resets for jtag core resets enable pseudo core resets for watch dog timer core resets disable all cobra core resets disable all jtag resets disable all watch dog timer resets 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-6 reserved reserved. 5 enable pseudo core resets for cobra core reset when this bit is written to ? 0 ? , cobra core resets are converted to chip resets. when this bit is written to ? 1 ? , a pseudo core reset is issued instead. 4 enable pseudo core resets for jtag core resets when this bit is written to ? 0 ? , cobra core resets are converted to chip resets. when this bit is written to ? 1 ? , a pseudo core reset is issued instead. 3 enable pseudo core resets for watch dog timer core resets when this bit is written to ? 0 ? , cobra core watch dog timer core resets are converted to chip resets. when this bit is written to ? 1 ? , a pseudo core reset is issued instead. 2 disable all cobra core resets when this bit is written to ? 1 ? , all cobra core resets are disabled. 1 disable all jtag resets when this bit is written to ? 1 ? , jtag resets are disabled. 0 disable all watch dog timer resets when this bit is written to ? 1 ? , watch dog timer resets are disabled.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 429 of 706 3.18.4 pcore status register the pcore status register provides status information about pcore operations. length 32 bits type clear/set address xxxx 4008 and 400c dcr address x ? 264 ? and x ? 265 ? power on reset value x ? 0000 8000 ? restrictions during normal operations, if a status bit is cleared, it will be reset if the condition that is causing it is still present. reserved pools get primitive failed user lock condition detected data side machine check instruction side machine check condition detected data side machine check issued instruction side machine packet memory virtual ocm interrupt proxy dcr bus primitive hang serial port xmit interrupt serial port receive interrupt packet memory hang condition econtrol memory hang condition register hang condition pci master hang condition pcore locked 313029282726252423222120191817161514131211109876543210 bit(s) name description 31-16 reserved reserved. 15 pools get primitive failed when a get is attempted from pools and the request is rejected, this bit will be set. 14 user lock condition detected when a bit in the pcore user status register and the corresponding bit in the pcore user error lock enable register are both set, this bit will be set. 13 data side machine check condition detected a data side machine check condition was detected but not necessarily sent to the cobra core. 12 instruction side machine check condition detected an instruction side machine check condition was detected but not necessarily sent to the cobra core. 11 data side machine check issued a machine check has been issued to the cobra core due to a data side pcore error. 10 instruction side machine check issued a machine check has been issued to the cobra core due to an instruction side pcore error. 9 packet memory virtual write failure when this is set, a virtual write has failed to virtual memory. either a nak was returned during the write or while holding for error checking after the write. in either case, it indi- cates the required storage to complete the operation was not available.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 430 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.5 pcore user status register the pcore user status register provides user-defined status information about pcore software opera- tions. 8 ocm interrupt proxy when set, ocm is indicating an interrupt condition. 7 dcr bus primitive hang condition one of the dcr primitive accesses has timed out. 6 serial port xmit interrupt when the serial port surfaces a xmit interrupt, it will be reflected here. 5 serial port receive interrupt when the serial port surfaces a receive interrupt, it will be reflected here. 4 packet memory hang condition packet memory interface dead man timer has expired. 3 control memory hang condition control memory interface dead man timer has expired. 2 register hang condition register interface dead man timer has expired. 1 pci master hang condition pci master interface dead man timer has expired. 0 pcore locked this bit is set when locking is enabled; an error has occurred and the lock mask bit is set that matches the error. length 32 bits type clear/set dcr address x ? 200 ? and x ? 201 ? power on reset value x ? 0000 0000 ? restrictions during normal operations, if a status bit is cleared, it will be reset if the condition that is causing it is still present. user defined 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 user defined reserved. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 431 of 706 3.18.6 pcore cobra core external status register the pcore cobra core external status register provides cobra core-defined status information about pcore. length 32 bits type clear/set dcr address x ? 202 ? and x ? 203 ? power on reset value x ? 0000 0000 ? restrictions during normal operations, if a status bit is cleared, it will be reset if the condition that is causing it is still present. reserved fdma packet memory virtual write error critical interrupt fdma packet memory virtual write error normal interrupt data side packet memory virtual write error critical interrupt data side packet memory virtual write error normal interrupt memory controller locked critical interrupt memory controller locked non-critical interrupt serial port receive critical interrupt serial port receive non-critical interrupt serial port transmit critical interrupt serial port transmit non-critical interrupt internal critical interrupt internal non-critical interrupt external critical interrupt external non-critical interrupt 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-14 reserved reserved. 13 fdma packet memory virtual write error critical interrupt this occurs when the packet memory controller returns an error on a packet virtual mem- ory write and the fdma-side is accessing and this condition is set as critical. 12 fdma packet memory virtual write error normal interrupt this occurs when the packet memory controller returns an error on a packet virtual mem- ory write and the fdma-side is accessing this condition is set as normal. 11 data side packet memory virtual write error critical interrupt this occurs when the packet memory controller returns an error on a packet virtual mem- ory write and the d-side is accessing and this condition is set as critical. 10 data side packet memory virtual write error normal interrupt this occurs when the packet memory controller returns an error on a packet virtual mem- ory write and the d-side is accessing this condition is set as normal. 9 memory controller locked critical interrupt this occurs when the memory controller is locked and this condition is set as critical.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 432 of 706 pnr261_19pcore.fm.06 august 14, 2000 8 memory controller locked non- critical interrupt this occurs when the memory controller is locked and this condition is set as non-critical. 7 serial port receive critical inter- rupt this occurs when the serial controller has a transmit interrupt and the corresponding criti- cal interrupt enable is on in the control register. 6 serial port receive non-critical interrupt this occurs when the serial controller has a transmit interrupt and the corresponding criti- cal interrupt enable is on in the control register. 5 serial port transmit critical inter- rupt this occurs when the serial controller has a transmit interrupt and the corresponding criti- cal interrupt enable is on in the control register. 4 serial port transmit non-critical interrupt this occurs when the serial controller has a transmit interrupt and the corresponding criti- cal interrupt enable is on in the control register. 3 internal critical interrupt this occurs when a bit in the pnr primary status register is set and the corresponding critical interrupt enable is on. 2 internal non-critical interrupt this occurs when a bit in the pnr primary status register is set and the corresponding non-critical interrupt enable is on. 1 external critical interrupt this occurs when an off chip interrupt is received and the non-critical enable for off chip interrupts is set. 0 external non-critical interrupt this occurs when an off chip interrupt is received and the non-critical enable for off chip interrupts is set. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 433 of 706 3.18.7 pcore cobra core external machine check status register the pcore cobra core external machine check status register provides cobra core machine check status information about pcore. length 32 bits type clear/set dcr address x ? 25c ? and x ? 25d ? power on reset value x ? 0000 0000 ? restrictions during normal operations, if a status bit is cleared, it will be reset if the condition that is causing it is still present. pci master access error control memory locked packet memory locked fdma packet virtual memory error fdma pci master error fdma control memory locked error fdma packet memory locked error reserved dcr register error fdma packet memory locked error data packet virtual memory error data pci master error data control memory locked error data packet memory locked error reserved instruction illegal tag access instruction pci master error instruction control memory locked error instruction packet memory locked error 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31 pci master access error this occurs when the pci master machine returns an error and no requestor currently owns the machine. 30 control memory locked this occurs when packet memory is in a locked state. 29 packet memory locked this occurs when packet memory is in a locked state. 28 fdma packet virtual memory error this occurs when packet memory indicates a write error during access of a virtual buffer. 27 fdma pci master error this occurs when a pci master access has an error returned while the data path is accessing it. 26 fdma control memory locked error this occurs when control memory locks while the data path is actively accessing it. 25 fdma packet memory locked error this occurs when packet memory locks while the data path is actively accessing it. 24-22 reserved reserved. 21 dcr register error this occurs when a fatal error, typically a hang, occurs on a dcr register timeout. 20 fdma packet memory locked error this occurs when packet memory locks while the data path is actively accessing it. 20 data register error this occurs when a fatal error, typically a hang, occurs on an pnr register timeout.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 434 of 706 pnr261_19pcore.fm.06 august 14, 2000 19 data packet virtual memory error this occurs when packet memory indicates a write error during access of a virtual buffer. 18 data pci master error this occurs when a pci master access has an error returned while the data path is accessing it. 17 data control memory locked error this occurs when control memory locks while the data path is actively accessing it. 16 data packet memory locked error this occurs when packet memory locks while the data path is actively accessing it. 15-4 reserved reserved. 3 instruction illegal tag access this occurs when the instruction side specifies the register space or ocm for the instruc- tion source via the cache. since there are no physical connections, these accesses can not occur. 2 instruction pci master error this occurs when pci master access has an error returned while the instruction path is accessing it. 1 instruction control memory locked error this occurs when control memory locks while the instruction path is actively accessing it. 0 instruction packet memory locked error this occurs when packet memory locks while the instruction path is actively accessing it. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 435 of 706 3.18.8 pcore jtag debug control register the pcore jtag debug control register enables the jtag port or a pci interface processor debugger to control the processor core. length 32 bits type read/write address xxxx 4200 power on reset value x ? 0000 0000 ? restrictions none stop processor block folding single step reset control unconditional debug event freeze timers while stopped reserved 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31 stop processor this bit forces the processor to halt execution. 30 block folding the processor normally dispatches two instructions at a time. setting this bit forces instruction dispatches to be serialized. 29 single step setting this bit when the processor is stopped causes the processor to execute one or two instructions depending on the value of bit 30. this bit clears itself after one cycle automat- ically. 28-27 reset control these bits potentially generate one of three resets depending on their value. they reset to ? 00 ? after one cycle automatically. the bits decode as follows: 00 no reset 01 core reset 10 chip reset 11 system reset 26 unconditional debug event this bit generates an interrupt to the processor. it resets to ? 0 ? after one cycle automati- cally. 25 freeze timers while stopped this bit freezes the state of all timers in the core if the processor is stopped. 24-0 reserved reserved.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 436 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.9 pcore jtag debug status register the pcore jtag debug status register returns core status. length 32 bits type read only address xxxx 4204 power on reset value x ? 0000 0000 ? restrictions none reserved instruction side interrupt data side tlb miss instruction side tlb miss reserved protection error alignment error illegal/privileged/trap instruction exception system call return from interrupt instruction return from critical interrupt instruction instruction side machine check processor wait state instruction stuff overrun processor stopped 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-14 reserved reserved. 13 instruction side interrupt an exception has occurred in the instruction processing portion of the core. 12 data side tlb miss a miss has occurred in the data side translation look-aside buffer. 11 instruction side tlb miss a miss has occurred in the instruction side translation look-aside buffer. 10 reserved reserved. 9 protection error a protection error occurred. 8 alignment error an alignment error occurred. 7 illegal/privileged/trap instruction exception an instruction was encountered that caused an exception because it was illegal, gener- ated a privilege violation, or was a trap instruction. 6 system call a system call exception occurred. 5 return from interrupt instruction an rfi instruction was executed. 4 return from critical interrupt instruction an rfci instruction was executed. 3 instruction side machine check a machine check condition has occurred in the instruction processing portion of the core. 2 processor wait state the processor is in a wait state.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 437 of 706 3.18.10 pcore jtag instruction stuff buffer the pcore jtag instruction stuff buffer is used to insert an instruction into the processor for execution. 3.18.11 pcore jtag debug data register the pcore jtag debug data register enables passing data between the jtag/pci debug port and the general purpose registers of the processor core. 1 instruction stuff overrun the debug port has attempted to insert an instruction into the processor via the jtag instruction stuff buffer (jisb) and it was not accepted by the processor. the instruction must be reloaded into the jisb. 0 processor stopped the processor is currently in a stopped state. length 32 bits type read/write address xxxx 4208 power on reset value x ? 0000 0000 ? restrictions none user defined 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 instruction instruction to be passed from the jtag/pci debug interface to the core gprs. length 32 bits type read/write address xxxx 420c spr address x ? 3f3 ? power on reset value x ? 0000 0000 ? restrictions none user defined 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 data data to be passed to/from the jtag/pci debug interface to the core gprs. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 438 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.12 pcore cobra core boot address the pcore cobra core boot address provides cobra core its boot time address. this is the pcore register. it is used to provide the address used to fetch the first instruction. length 32 bits type read/write address xxxx 4018 power on reset value x ? fff0 0100 ? restrictions none boot address disable evpr/ip override hid/msr on boot reserved 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-2 boot address this is the address the processor will use at boot time. 1 disable evpr/ip override hid/ msr on boot override msr settings on system reset exception to use all of the pcore cobra core boot address. 0 reserved reserved.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 439 of 706 3.18.13 pcore cobra core access priority control register the pcore cobra core access priority control register provides cobra core defined status information about pcore. it is used to control the order and priority of access to the various memory subsystems that the cobra core has access to. it is to be set up at initialization time and not dynamically changed. length 32 bits type read/write address xxxx 401c power on reset value x ? 01e4 e4e4 ? restrictions for each controller accessed, the values cannot be duplicated. that is, all the prior- ities to a given target subsystem must be unique. reserved icache register access priority dcache register access priority fdma - packet memory access priority dcache - packet memory access priority icache - packet memory access priority write around fifo - packet memory access priority fdma - control memory access priority dcache - control memory access priority icache - control memory access priority write around fifo - control memory access priority fdma - pci master access priority dcache - pci master access priority icache - pci master access priority write around fifo - pci master access priority 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-26 reserved reserved. 25 icache register access priority this sets the priority into the pnr register port. zero is low priority; one is high priority. 24 dcache register access priority this sets the priority into the pnr register port. zero is low priority; one is high priority. 23-22 fdma - packet memory access priority this sets the priority of access to packet memory. zero is the lowest priority; three is the highest priority. 21-20 dcache - packet memory access priority this sets the priority of access to packet memory. zero is the lowest priority; three is the highest priority. 19-18 icache - packet memory access priority this sets the priority of access to packet memory. zero is the lowest priority; three is the highest priority. 17-16 write around fifo - packet mem- ory access priority this sets the priority of access to packet memory. zero is the lowest priority; three is the highest priority. 15-14 fdma - control memory access priority this sets the priority of access to packet memory. zero is the lowest priority; three is the highest priority.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 440 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.14 pcore transaction dead man timer value registers these registers are used to load timers that count to zero from the value loaded in this register. the maxi- mum wait for an i/o transaction is about 2 ms when this register is set to x ? 0000 ffff ? . the value of this reg- ister is written into the corresponding timer after the transaction is initiated with the target. it continues to count down until the target responds or zero is reached in the timer. when the timer reaches zero, a status bit is set and action can be taken. 13-12 dcache - control memory access priority this sets the priority of access to packet memory. zero is the lowest priority; three is the highest priority. 11-10 icache - control memory access priority this sets the priority of access to packet memory. zero is the lowest priority; three is the highest priority. 9-8 write around fifo - control mem- ory access priority this sets the priority of access to packet memory. zero is the lowest priority; three is the highest priority. 7-6 fdma - pci master access prior- ity this sets the priority of access to packet memory. zero is the lowest priority; three is the highest priority. 5-4 dcache - pci master access pri- ority this sets the priority of access to packet memory. zero is the lowest priority; three is the highest priority. 3-2 icache - pci master access prior- ity this sets the priority of access to packet memory. zero is the lowest priority; three is the highest priority. 1-0 write around fifo - pci master access priority this sets the priority of access to packet memory. zero is the lowest priority; three is the highest priority length 32 bits type read/write address pci master dead man timer value xxxx 4020 pnr register dead man timer value xxxx 4024 control memory dead man timer value xxxx 4028 packet memory dead man timer value xxxx 402c dcr primitive access dead man timer value xxxx 40f8 power on reset value x ? 0000 ffff ? restrictions none bit(s) name description 31-0 reserved reserved 15-0 dead man timer load value value to load into the related dead man timer at the start of a transaction. this value is the limit on the time the transaction is allowed to take before completion. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 441 of 706 3.18.15 pcore transaction dead man timer register these timers are used to time transactions that are valid but the target does not respond right away. the timer counts on a 7.5 ns time base. the maximum wait for an i/o transaction is about 2 ms when the timer counts down from x ? 0000 ffff ? . this timer counts down to zero from the values set in the value register. when zero is reached, the transaction is considered broken and the request will be acknowledged back to the requestor. length 32 bits type read only address pci master dead man timer xxxx 40e0 pnr register dead man timer xxxx 40e4 control memory dead man timer xxxx 40e8 packet memory dead man timer xxxx 40ec dcr primitive access dead man timer value xxxx 40f0 power on reset value x ? 0000 ffff ? restrictions none bit(s) name description 31-16 reserved reserved. 15-0 transaction dead man timer timer that loads with the corresponding dead man timer value register when the respective transaction type is initiated. if the transaction does not complete before the timer reaches 0, a status bit is set in the pcore status register .
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 442 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.16 pcore pnr shadow status register this register is used to shadow the intst interrupt source. the purpose of this register is to allow polling for pnr interrupts without using the pci bus. see intst interrupt source register on page 89 for detailed bit descriptions. 3.18.17 pcore pnr packet last write with error address this register holds the address that has been sent from the data cache to pcore when a virtual memory error in charm has occured as a result of this address being used to access packet memory. note that this address and the one sent to packet memory may be different due to the address translation offset facilities. 3.18.18 pcore pnr rxque status register this register is used to shadow the rxque status register. the purpose of this register is to allow fast access to rxque ? s status register without having to use the regular register interface. see rxque status register on page 381 for detailed bit descriptions. length 32 bits type read only dcr address x ? 208 ? power on reset value x ? 0000 0000 ? restrictions none length 32 bits type read only dcr address x ? 260 ? power on reset value x ? 0000 0000 ? restrictions none length 32 bits type read only dcr address x ? 20f ? power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 443 of 706 3.18.19 pcore pnr rxque enabled status register 1 this register is used to shadow the rxque enabled status register 1. the purpose of this register is to allow fast read access of the rxque enabled status register 1 without having to use the normal pnr regis- ter interface. see rxque enabled status registers 1 and 2 on page 382 for detailed bit descriptions. 3.18.20 pcore pnr rxque enabled status register 2 this register is used to shadow the rxque enabled status register 1. the purpose of this register is to allow fast read access of the rxque enabled status register 2 without having to use the normal pnr regis- ter interface. see rxque enabled status registers 1 and 2 on page 382 for detailed bit descriptions. 3.18.21 pcore pnr rxque upper queues status register this register is used to shadow the rxque upper queues status register. the purpose of this register is to allow fast read access of the rxque upper queues status register without having to use the normal pnr register interface. see rxque queues status register on page 379 for detailed bit descriptions. length 32 bits type read only dcr address x ? 250 ? power on reset value x ? 0000 0000 ? restrictions none length 32 bits type read only dcr address x ? 251 ? power on reset value x ? 0000 0000 ? restrictions none length 32 bits type read only dcr address x ? 252 ? power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 444 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.22 pcore pnr rxque lower queues status register this register is used to shadow the rxque lower queues status register. the purpose of this register is to allow fast read access of the rxque lower queues status register without having to use the normal pnr register interface. see rxque queues status register on page 379 for detailed bit descriptions. 3.18.23 pcore dmaqs status register this register is used to shadow the dmaqs status register. the purpose of this register is to allow fast read access of the dmaqs status register without having to use the normal pnr register interface. see dmaqs status register on page 123 for detailed bit descriptions. 3.18.24 pcore dmaqs interrupt enable register this register is used to shadow the dmaqs interrupt enable register. the purpose of this register is to allow fast read access of the dmaqs interrupt enable register without having to use the normal pnr register interface. see dmaqs interrupt enable register on page 125 for detailed bit descriptions. length 32 bits type read only dcr address x ? 253 ? power on reset value x ? 0000 0000 ? restrictions none length 32 bits type read only dcr address x ? 257 ? power on reset value x ? 0000 0000 ? restrictions none length 32 bits type read only dcr address x ? 25b ? power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 445 of 706 3.18.25 pcore dmaqs head and tail pointer shadow registers this register is used to shadow the dmaqs head and tail pointer registers. it allows fast read access of the dmaqs head and tail pointer registers without having to use the normal pnr register interface. see dmaqs head pointer registers on page 121 and dmaqs tail pointer registers on page 121 for detailed bit descriptions. length 32 bits type read only dcr address head 0 x ? 268 ? head 1 x ? 269 ? head 2 x ? 26a ? tail 0 x ? 26b ? tail 1 x ? 26c ? tail 2 x ? 26d ? power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 446 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.26 pcore pools get pointer primitive this register is used to issue pools get primitive requests. it allows fast pools get primitives without having to use the normal pnr register interface. the lower 4 bits of the address are used to determine the pool that the transaction will be charged against. length 32 bits type read only dcr address pool 0 x ? 270 ? pool 1 x ? 271 ? pool 2 x ? 272 ? pool 3 x ? 273 ? pool 4 x ? 274 ? pool 5 x ? 275 ? pool 6 x ? 276 ? pool 7 x ? 277 ? pool 8 x ? 278 ? pool 9 x ? 279 ? pool 10 x ? 27a ? pool 11 x ? 27b ? pool 12 x ? 27c ? pool 13 x ? 27d ? pool 14 x ? 27e ? pool 15 x ? 27f ? power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 447 of 706 3.18.27 pcore pools free pointer primitive this register is used to issue pools free primitive requests to pools. it allows fast pools free primitives without having to use the normal pnr register interface. 3.18.28 pcore pools pointer primitive offset register when enabled, this register ? s contents are added to any returned get pointer primitive and subtracted from any free pointer primitive. length 32 bits type write only dcr address x ? 26e ? power on reset value x ? 0000 0000 ? restrictions none length 32 bits type read/write dcr address x ? 26f ? power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 448 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.29 pcore rxque queue length registers the pcore rxque queue length registers provide event queue lengths to the cobra core. reads from this address will return event queue lengths from rxque. length 32 bits type read/write dcr address queue 0 x ? 220 ? queue 1 x ? 221 ? queue 2 x ? 222 ? queue 3 x ? 223 ? queue 4 x ? 224 ? queue 5 x ? 225 ? queue 6 x ? 226 ? queue7 x ? 227 ? queue 8 x ? 228 ? queue 9 x ? 229 ? queue 10 x ? 22a ? queue 11 z ? 22b ? queue 12 x ? 22c ? queue 13 x ? 22d ? queue 14 x ? 22e ? queue 15 x ? 22f ? power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 449 of 706 3.18.30 pcore dmaqs queue length registers the pcore dmaqs queue length registers provide dmaqs queue lengths to the cobra core. reads from this address will return descriptor queue lengths from dmaqs. 3.18.31 pcore interrupt enable register this register allows the user to enable interrupts for each of the conditions reported in the pcore status register . when both a bit in this register and the corresponding bit(s) in the pcore status register are set, the pcore interrupt to intst will be enabled. see 3.18.4 pcore status register on page 429 for the bit descriptions. length 32 bits type read/write dcr address queue 0 x ? 254 ? queue 1 x ? 255 ? queue 2 x ? 256 ? power on reset value x ? 0000 0000 ? restrictions none length 32 bits type clear/set address xxxx 4010 and 4014 power on reset value x ? 0000 8000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 450 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.32 pcore user interrupt enable this register is used to enable an interrupt based on bits from the corresponding pcore user status regis- ter and potentially generate interrupts to the control processor. when both a bit in this register and the corre- sponding bit in the pcore user status register are set, an interrupt is generated to the intst entity. see 3.18.5 pcore user status register on page 430 for the bit descriptions. 3.18.33 pcore cobra core interrupt enable register this register is used to enable bits from the pcore cobra core external status register and generate interrupts to the cobra core processor. when both a bit in this register and the corresponding bit(s) in the pcore cobra core external status register are set, the cobra core interrupt to the cobra core will be enabled. see 3.18.4 pcore status register on page 429 for the bit descriptions. 3.18.34 pcore cobra core external machine check enable register this register is used to enable bits from the pcore cobra core external machine check status register and generate machine checks to the cobra core processor. when both a bit in this register and the corre- sponding bit(s) in the pcore cobra core external machine check status register are set, the requisite cobra core machine check to the cobra core will be enabled. see 3.18.4 pcore status register on page 429 for the bit descriptions. length 32 bits type clear/set dcr address x ? 204 ? and x ? 205 ? power on reset value x ? 0000 0000 ? restrictions none length 32 bits type clear/set dcr address x ? 206 ? and x ? 207 ? power on reset value x ? 0000 0000 ? restrictions none length 32 bits type clear/set dcr address x ? 25e ? and x ? 25f ? power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 451 of 706 3.18.35 pcore error lock enable register the pcore error lock enable register provides the ability to halt pcore when the corresponding status bit in the status register is set and locking is enabled. when a bit in this register corresponds to a bit set in the status register, the state machines in pcore will be held in idle state until the lock is disabled. 3.18.36 pcore user error lock enable register the pcore user error lock enable register provides the ability to halt pcore when the corresponding status bit in the user status register is set and locking is enabled. when a bit in this register corresponds to a bit set in the status register, the state machines in pcore will be held in idle state until the lock is dis- abled. length 32 bits type clear/set address xxxx 4030 and 4034 dcr address x ? 266 ? and x ? 267 ? power on reset value x ? 0000 fe9f ? restrictions none length 32 bits type clear/set address xxxx 4038 and 403c power on reset value x ? ffff ffff ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 452 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.37 pcore rxque event interface enqueue register the pcore rxque event interface enqueue register provides an event enqueue interface for the cobra core. writes to this address will enqueue an event to an rxque queue. length 32 bits type read/write dcr address queue 0 x ? 230 ? queue 1 x ? 231 ? queue 2 x ? 232 ? queue 3 x ? 233 ? queue 4 x ? 234 ? queue 5 x ? 235 ? queue 6 x ? 236 ? queue 7 x ? 237 ? queue 8 x ? 238 ? queue 9 x ? 239 ? queue 10 x ? 23a ? queue 11 x ? 23b ? queue 12 x ? 23c ? queue 13 x ? 23d ? queue 14 x ? 23e ? queue 15 x ? 23f ? power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 453 of 706 3.18.38 pcore dmaqs dma enqueue register the pcore dmaqs dma enqueue register provides a dmaqs interface for the cobra core. writes to this address will enqueue a descriptor to a dmaqs queue. length 32 bits type read/write dcr address queue 0 x ? 258 ? queue 1 x ? 259 ? queue 2 x ? 25a ? power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 454 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.39 pcore rxque event interface deque register the pcore rxque event interface dequeue register provides an event deque interface for the cobra core. reads from this address return an event. length 32 bits type read only dcr address queue 0 x ? 240 ? queue 1 x ? 241 ? queue 2 x ? 242 ? queue 3 x ? 243 ? queue 4 x ? 244 ? queue 5 x ? 245 ? queue 6 x ? 246 ? queue 7 x ? 247 ? queue 8 x ? 248 ? queue 9 x ? 249 ? queue 10 x ? 24a ? queue 11 x ? 24b ? queue 12 x ? 24c ? queue 13 x ? 24d ? queue 14 x ? 24e ? queue 15 x ? 24f ? power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 455 of 706 3.18.40 pcore cobra spr access address register the pcore spr access address register is used in combination with the next two registers to access the internal facilities in cobra. this includes sprs, dcrs, and debug facilities. the address and type of the internal cobra facility are written to this register. the contents of the facility can then be read or written through the pcore cobra spr read data access register or pcore cobra spr write data access register , respectively. the address represents a 4-byte access. this facility should not be used while cobra is running, if the exception vector override facilities are active. length 32 bits type read/write address xxxx 4044 power on reset value x ? 8000 0000 ? restrictions none address type reserved address 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-30 address type these bits describe the address type. 00 reserved 01 spr access 10 dcr access 11 register/debug access 29-10 reserved reserved. 9-0 address address of target register.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 456 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.41 pcore cobra spr read data access register the pcore cobra spr read data access register causes a read of the cobra facility specified by the pcore cobra spr access address register , and returns the data to the requester. this can be used for initializing the cobra processor and its facilities, or as a message passing facility used for inter-device com- munication. these facilities, with their control register bits, allow for either interrupt or polling-based message passing from the cobra core to a pci bus device.this facility should not be used while cobra is running if the exception vector override facilities are active. 3.18.42 pcore cobra spr write data access register the pcore cobra spr write data access register causes a write of the cobra facility specified by the pcore cobra spr access address register , storing the given data. this can be used for initializing the cobra processor and its facilities, or as a message passing facility used for inter-device communication. these facilities, with their control register bits, allow for either interrupt or polling-based message passing from the cobra core to a pci bus device.this facility should not be used while cobra is running if the exception vector override facilities are active. length 32 bits type read only address xxxx 4040 power on reset value x ? 0000 0000 ? restrictions none length 32 bits type write only address xxxx 40f4 power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 457 of 706 3.18.43 pcore address translation offset address facilities the pcore address translation offset address facilities provides the offset that is added to the cobra real address to create the target subsystem address. when an address is issued from the cobra core, it is accompanied by four target translation bits. the trans- lation bits indicate which translation facility is to be used to translate the processor ? real ? physical address into a target system actual address. this grouping provides for the offset addresses for each target memory sys- tem. the offset is added to the cobra real address to create the target system address. table 20: pcore address translation target bit encoding on page 458 is a list of targets, each with its own translation facili- ties. length 32 bits type read/write address packet memory offset view 0 xxxx 4048 packet memory offset view 1 xxxx 404c packet memory offset view 2 xxxx 4050 pnr registers offset view 0 xxxx 4054 control memory offset view 0 xxxx 4058 control memory offset view 1 xxxx 405c control memory offset view 2 xxxx 4060 pci master offset view 0 xxxx 4064 pci master offset view 1 xxxx 4068 pci master offset view 2 xxxx 406c pci master offset view 3 xxxx 4070 control/packet memory offset view 0 xxxx 4074 control/packet memory offset view 1 xxxx 4078 control/packet memory offset view 2 xxxx 407c control/packet memory offset view 3 xxxx 4080 power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 458 of 706 pnr261_19pcore.fm.06 august 14, 2000 table 20: pcore address translation target bit encoding target bit encoding translation facility 0000 ocm (translation provided for in the mmus) 0001 packet memory view 0 0010 packet memory view 1 0011 packet memory view 2 0100 pnr registers 0101 control memory view 0 0110 control memory view 1 0111 control memory view 2 1000 pci master access (non pnr) view 0 1001 pci master access (non pnr) view 1 1010 pci master access (non pnr) view 2 1011 pci master access (non pnr) view 3 1100 control/packet view 0 1101 control/packet view 1 1110 control/packet view 2 1111 control/packet view 3
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 459 of 706 3.18.44 pcore pci 64 bit address translation facilities the pcore pci 64 bit address translation facilities provide the upper 32 bits of address in 64-bit address- ing mode. when an access is issued to the pci master interface in 64-bit addressing mode, these registers are used to create the upper 32 bits of the 64-bit address. length 32 bits type read/write address upper 32 address bits pci master view 0 xxxx 4084 upper 32 address bits pci master view 1 xxxx 4088 upper 32 address bits pci master view 2 xxxx 408c upper 32 address bits pci master view 3 xxxx 4090 power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 460 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.45 pcore pci master target tag controls the pcore pci master target tag controls contains the control for each pci tag/view. this register con- tains bits for each of the four pci master views. length 32 bits type read/write address xxxx 40fc power on reset value x ? 0606 0606 ? restrictions none user defined swap bytes view 3 swap words view 3 assume 64 bit xfer view 3 assume 32 bit xfer view 3 transfer type view 3 reserved swap bytes view 2 swap words view 2 assume 64 bit xfer view 2 assume 32 bit xfer view 2 transfer type view 2 reserved swap bytes view 1 swap words view 1 assume 64 bit xfer view 1 assume 32 bit xfer view 1 transfer type view 1 reserved swap bytes view 0 swap words view 0 assume 64 bit xfer view 0 assume 32 bit xfer view 0 transfer type view 0 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-30 reserved reserved. 29 swap bytes view 3 when set, this bit tells the pci master logic to do byte swapping. 28 swap words view 3 when set, this bit tells the pci master to do word swapping. 27 assume 64 bit xfer view 3 when set, this bit tells the pci master logic to assume a 64-bit data access. 26 assume 32 bit xfer view 3 when set, this bit tells the pci master logic to assume a 32-bit data access. 25-24 transfer type view 3 these bits indicate the transaction type. 00 config cycle 01 i/o cycle 1- memory cycle 23-22 reserved reserved. 21 swap bytes view 2 when set, this bit tells the pci master logic to do byte swapping. 20 swap words view 2 when set, this bit tells the pci master to do word swapping. 19 assume 64 bit xfer view 2 when set, this bit tells the pci master logic to assume a 64-bit data access. 18 assume 32 bit xfer view 2 when set, this bit tells the pci master logic to assume a 32-bit data access. 17-16 transfer type view 2 these bits indicate the transaction type. 00 config cycle 01 i/o cycle 1- memory cycle 15-14 reserved reserved. 13 swap bytes view 1 when set, this bit tells the pci master logic to do byte swapping.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 461 of 706 12 swap words view 1 when set, this bit tells the pci master to do word swapping. 11 assume 64 bit xfer view 1 when set, this bit tells the pci master logic to assume a 64 bit data access. 10 assume 32 bit xfer view 1 when set, this bit tells the pci master logic to assume a 32 bit data access 9-8 transfer type view 1 these bits indicate the transaction type. 00 config cycle 01 i/o cycle 1- memory cycle 7-6 reserved reserved. 5 swap bytes view 0 when set, this bit tells the pci master logic to do byte swapping. 4 swap words view 0 when set, this bit tells the pci master to do word swapping. 3 assume 64 bit xfer view 0 when set, this bit tells the pci master logic to assume a 64 bit data access. 2 assume 32 bit xfer view 0 when set, this bit tells the pci master logic to assume a 32 bit data access. 1-0 transfer type view 0 these bits indicate the transaction type 00 config cycle 01 i/o cycle 1- memory cycle bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 462 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.46 pcore last packet address register the pcore last packet address register is the last address to the packet memory bus at the time of the hang condition. when the system locks up, this register holds the last packet memory address that was or is currently being presented to the packet memory subsystem. 3.18.47 pcore last control address register the pcore last control address register is the last address to the control memory bus at the time of the hang condition. when the system locks up, this register holds the last control memory address that was or is currently being presented to the control memory subsystem. 3.18.48 pcore last pci lower address register the pcore last pci lower address register is the last address to the pci bus at the time of the hang con- dition. when the system locks up, this register holds the last pci bus address that was or is currently being presented to the control memory subsystem. length 32 bits type read only address xxxx 4094 power on reset value x ? ffff fffc ? restrictions none length 32 bits type read only address xxxx 4098 power on reset value x ? ffff fffc ? restrictions none length 32 bits type read only address xxxx 409c power on reset value x ? ffff fffc ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 463 of 706 3.18.49 pcore last register address register the pcore last register address register is the last address to the pci bus at the time of the hang condi- tion. when the system locks up, this register holds the last pci bus address that was or is currently being pre- sented to the control memory subsystem. 3.18.50 pcore ocm window address register the ocm window address register is used to select which 4-kb portion of ocm is accessible through pnr address range x ? 5000 - 5fff ? . length 32 bits type read only address xxxx 40a0 power on reset value x ? ffff fffc ? restrictions none length 32 bits (17:12) active type read/write address xxxx 40a4 power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 464 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.51 pcore read data transfer buffers the pcore read data transfer buffers hold the read data that is being transferred from one of the target subsystems and the cobra core. eight bytes are buffered on the interfaces except for the pnr register interface which buffers four bytes. 3.18.52 pcore write data transfer buffers the pcore write data transfer buffers hold the data that is being transferred between the cobra core and one of the target subsystems. eight bytes can be stored for each target subsystem, with the exception of the pnr register target which holds just four bytes. length 32 bits type read only address pci upper read data transfer buffer xxxx 40a8 pci lower read data transfer buffer xxxx 40ac packet upper read data transfer buffer xxxx 40b0 packet lower read data transfer buffer xxxx 40b4 control upper read data transfer buffer xxxx 40b8 control lower read data transfer buffer xxxx 40bc pnr register space read data transfer buffer xxxx 40c0 power on reset value x ? 0000 0000 ? restrictions none length 32 bits type read only address pci upper write data transfer buffer xxxx 40c4 pci lower write data transfer buffer xxxx 40c8 packet upper write data transfer buffer xxxx 40cc packet lower write data transfer buffer xxxx 40d0 control upper write data transfer buffer xxxx 40d4 control lower write data transfer buffer xxxx 40d8 pnr register space write data transfer buffer xxxx 40dc power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 465 of 706 3.18.53 pcore polling register the pcore polling register provides status information to pcore about pnr operations. it allows pcore to poll specific pnr status without using pci bus bandwidth. 3.18.54 pcore integer input rate conversion register this register is the integer input port for the rate conversion logic. an integer rate is placed in this register. the on-board logic converts it to an abr rate format. length 32 bits type read only dcr address x ? 20e ? power on reset value x ? 0000 0000 ? restrictions during normal operations, if a status bit is cleared, it will be reset if the condition that is causing it is still present. reserved memory locked control memory locked packet memory locked virtual lock arbit lock 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-5 reserved reserved. 4 memory locked memory is locked. 3 control memory locked control memory is locked. 2 packet memory locked packet memory is locked. 1 virtual lock vimem is the locker of memory. 0 arbit lock arbit is the locker of memory. length 32 bits type read/write dcr address x ? 20b ? power on reset value x ? 0000 0000 ? restrictions none
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 466 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.55 pcore abr output rate register this register is the output port of the rate conversion logic. an integer rate was placed in the pcore integer input rate conversion register . the logic converts it to an abr rate and places the result in this register. length 32 bits type read only dcr address x ? 20c ? power on reset value x ? 0000 0000 ? restrictions none bit(s) name description 31-16 reserved reserved. 15-0 abr rate the value written into the pcore integer input rate conversion register converted to abr format.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_19pcore.fm.06 august 14, 2000 processor core (pcore) page 467 of 706 3.18.56 pcore debug states control this register serves as the pcore control for external debug states. the intst debug states control for the address range desired must be set to select these pcore state bits. if that is done, this register acts to select the four ranges. see bit descriptions below. length 32 bits type read/write address xxxx 431c power on reset value x ? 0000 0000 ? restrictions none entity state mux control 4 (hardware debug) entity state mux control 3 (hardware debug) entity state mux control 2 (hardware debug) entity state mux control 1 (hardware debug) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-24 entity state mux control 4 (hardware debug) select of these bits allows internal state machines, counters, etc., to show up on chip out- puts enstate(63:48). selection encoding is the same as mux 1 control. 23-16 entity state mux control 3 (hardware debug) select of these bits allow internal state machines, counters, etc., to show up on chip out- puts enstate(47:32). selection encoding is the same as mux 1 control. 15-8 entity state mux control 2 (hardware debug) select of these bits allow internal state machines, counters, etc., to show up on chip out- puts enstate(31:16). selection encoding is the same as mux 1 control. 7-0 entity state mux control 1 (hardware debug) select of these bits allow internal state machines, counters, etc., to show up on chip out- puts enstate(15:0). x ? 00 ? disabled (no transition on outputs) x ? 01 ? select 15-0 states x ? 40 ? -x ? ff ? reserved
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary processor core (pcore) page 468 of 706 pnr261_19pcore.fm.06 august 14, 2000 3.18.57 pcore debug states config this register selects the sources of debug information from pcore. the intst debug states control register needs to select pcore as a source of debug state information in order for this information to be visible exter- nal to the pnr. length 32 bits type read/write address xxxx 4320 power on reset value x ? 0000 0000 ? restrictions none reserved lsu selector(1) reg selector bpu config (1-0) reserved lsu selector(0) fxu selector 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-8 reserved reserved. 7 lsu selector(1) used to configure debug information from source 1 in the load store unit. 6 reg selector used to configure debug information from the register unit. 5-4 bpu config (1-0) used to configure debug information from the branch processing unit. 3-2 reserved reserved 1 lsu selector(0) used to configure debug information from source 0 in the load/store unit. 0 fxu selector used to configure debug information from the fixed point unit.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_20cobra.fm.06 august 14, 2000 embedded powerpc processor (cobra) page 469 of 706 3.19 embedded powerpc processor (cobra) the cobra core is a 32-bit powerpc risc embedded controller. it is fully compatible with the powerpc user instruction set architecture. details about the exact instruction set are given below. the cobra core has a powerpc instruction execution complex, separate 32-kb instruction and data caches, and 401-style interrupts, timers and debug facilities. the cobra core has a direct connection to 96 kb of on-chip memory (ocm), as well as interfaces to the pnr ? s pci and register buses and both of the pnr ? s memory controllers. the cobra core can execute instructions stored in ocm, remote pci devices, or in either of the pnr ? s memory controllers. the dcr bus provides fast and private access to specific pnr performance-sensitive registers. 3.19.1 features instruction execution  compatible with powerpc user instruction set architecture (uisa).  separate branch, condition register, integer, and load/store units for super-scalar execution.  supports limited out-of-order execution.  dispatches up to two and executes up to four instructions per clock cycle.  four-stage pipeline allows single cycle execution for most instructions.  32 x 32-bit general purpose registers (gprs).  two cycle loads and stores.  byte, halfword, word, and string accesses to any byte alignment supported in hardware.  hardware multiply up to ten cycles.  hardware divide up to 32 cycles.  no fpu hardware. fpu instructions result in interrupts. timers  32-bit decrementer  64-bit time base  programmable and fixed interval timers  watchdog timer
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary embedded powerpc processor (cobra) page 470 of 706 pnr261_20cobra.fm.06 august 14, 2000 cobra core exceptions  two priority levels - normal - uses srr0/1 (603) - critical - uses srr2/3 (401 extension)  exception types - system reset (boot vector) - machine check - data storage interrupt - instruction storage interrupt - external - alignment - trap - invalid opcode - privilege violation - floating point unavailable - decrementer -system call -trace - system management (603) - programmable interval timer (401) - fixed interval timer (401) - watch dog timer (401) - critical interrupt (401) - debug interrupt (401) optional architecture extensions  programmable boot address (system interrupt vector)  interrupt enhancements - individually re-locatable interrupts - individually programmable interrupt level - normal and critical caches  32-byte cache lines (eight words per line)  four-way set associative write back 32-kb instruction and data caches memory management  real flat address mode supported interrupt controller  two interrupt levels external to cobra - normal and critical  three-way interrupts - from pnr to cobra - from cobra to pci - from pci to cobra
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_20cobra.fm.06 august 14, 2000 embedded powerpc processor (cobra) page 471 of 706 debug support  powerpc jtag debugger support (401 riscwatch)  401 debug facilities  serial port debugger support  pci debug access to jtag debug facilities 3.19.2 interfaces on-chip memory  96 kb of on-chip memory  can be used simultaneously by instruction and data accesses pnr registers  read/write access to the pnr register bus  some pnr registers are also mapped to cobra core dcr register space for faster access pci bus  read/write master access to pci bus  currently no actual streaming/bursting supported  pseudo bursting supported (multiple back to back single transfers)  interrupt sink  no arbitration supported (not a complete bridge) comet/pakit memory  able to use both memory controllers for both instruction and data accesses 3.19.3 performance  133 mhz operating frequency  performance estimates unavailable 3.19.4 instruction set instruction set with 401 as a base supports all 401 instructions with the following exceptions:  added from 603 - mfsr, mfsrin, mtsr, mtsrin, tlbie, tlbld, tlbli, tlbsync note: virtual memory not supported - mftb (for 603 style time base support)  removed from 401 - dcread, icread (replaced with spr access to the caches)  changed mfspr and mtspr to accommodate new sprs
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary embedded powerpc processor (cobra) page 472 of 706 pnr261_20cobra.fm.06 august 14, 2000 instruction set with 603 as a base supports all 603 instructions with the following exceptions:  added from 401 - dccci, icbt, iccci, mfdcr, mtdcr, rfci, wrtee, wrteei  removed from 603 - fxxxxx, lfxxx, stfxxx, mffxxx (floating point instructions) - eciwx, ecowx (powerpc i/o addressing not supported - only memory space addressing)  changed mfspr and mtspr to accommodate new sprs 3.19.5 cobra instruction overview the pnr cobra core supports all of the instructions in either the powerpc 603 user's manual (mpr603umu-01, mpc603um/ad) or the power pc 401 core user's manual (v0.07 1/28/98) with the fol- lowing changes. if an instruction does not exist in both user's manuals, it is described below. instruction(s) source description dccci, icbt, iccci 401 added for cache management. mfdcr, mtdcr 401 added for dcr bus support. rfci, wrtee, wrteei 401 added for 40x interrupt support. mfsr, mfsrin, mtsr, mtsrin 603 added for 60x mmu support. not supported. mftb 603 added for 60x style time base support. tlbie 603 added for 60x mmu support. not supported. tlbsync 603 added for 60x compatibility. acts as a no-op. mfbus, mtbus cobra core added. see 3.19.6 cobra unique instructions on page 473. dcread, icread 401 removed. cache layout is different. dcba 405 405 only instruction. not supported. tlbre, tlbsx(.), tlbwe 405 removed. 40x style mmu not supported. eciwx, ecowx 603 removed. only memory space addressing supported. fxxxxx 603 removed floating point support. lfd, lfdu, lfdux, lfdx, lfs, lfsu, lfsux, lfsx 603 removed floating point support. mffs, mffsb0, mffsb1, mffsf, mffsfi 603 removed floating point support. stfd, stfdu, stfdux, stfdx, stfiwx, stfs, stfsu, stfsux, stfsx 603 removed floating point support. tlbld, tlbli 603 removed - 603 style mmu support.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_20cobra.fm.06 august 14, 2000 embedded powerpc processor (cobra) page 473 of 706 3.19.6 cobra unique instructions cobra adds two instructions not found in the standard powerpc instruction set: move from internal bus (mfbus) and move to internal bus (mtbus). these instructions are useful for indirect addressing access to sprs/dcrs. these instructions replace the use of branch table based spr/dcr lookups. 3.19.6.1 move from internal bus (mfbus) the mfbus instruction is a supervisor-level instruction that loads data from an spr, dcr, or debug register into a selected processor general purpose register. the opcode for the instruction is as follows: bit(s) description 0-5 major opcode = ? 01 1111 ? . 6-10 destination general purpose register. this is the only register affected by this instruction. 11-15 if bits 11-15 are ? 00000 ? , bits 0-7 of the general purpose register selected by bits 16-20 of this instruction select the target bus from which to read. if bits 11-15 are non-zero, bits 11-15 are prepended with zero and are then used to select the target bus from which to read. the bits used to select the target bus are decoded as follows x ? 01 ? spr bus x ? 02 ? dcr bus x ? 03 ? debug bus all other values are undefined, and will result in the destination register being loaded with an undefined value. 16-20 specifies a general purpose register that provides the address of the source register on the target bus, and, depending of the value of bits 11-15 of this instruction, may also select the target bus. bits 22-31 of the register are used as the address of the source register. if bits 11-15 of this instruction are zero, bits 0-7 of the register will also indicate the target bus. 21-30 minor opcode = ? 01 0110 0011 ? . 31 reserved.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary embedded powerpc processor (cobra) page 474 of 706 pnr261_20cobra.fm.06 august 14, 2000 3.19.6.2 move to internal bus (mtbus) the mtbus instruction is a supervisor-level instruction that stores data to an spr, dcr, or debug register from a selected processor general purpose register. the op code for the instruction is as follows: bit(s) description 0-5 major opcode = ? 01 1111 ? . 6-10 source general purpose register. 11-15 if bits 11-15 are ? 00000 ? , bits 0-7 of the general purpose register selected by bits 16-20 of this instruction select the bus to which to target the write. if bits 11-15 are non-zero, bits 11-15 are prepended with zero and used to select the target bus to which to write. the bits used to select the target bus are decoded as follows: x ? 01 ? spr bus x ? 02 ? dcr bus x ? 03 ? debug bus all other values are undefined, and no write will occur. 16-20 specifies a general purpose register that provides the address of the destination register on the target bus, and, depending of the value of bits 11-15 of this instruction, may also select the target bus. bits 22-31 of the register are used as the address of the destination register. if bits 11-15 of this instruction are zero, bits 0-7 of the register will also indicate th e tar- get bus. 21-30 minor opcode = ? 01 1110 0011 ? . 31 reserved.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_20cobra.fm.06 august 14, 2000 embedded powerpc processor (cobra) page 475 of 706 3.19.7 cobra facilities overview the following registers are patterned after the registers in either the powerpc 603 user ? s manual (mpr603umu-01,mpc603um/ad) or the power pc 401 core user ? s manual (v0.07 1/28/98). every register in a 603 or 401 is included below. differences between the two implementations and the cobra core imple- mentation are explained. the registers are split into eight functional groupings: machine control/status registers, branch control reg- isters, debug control registers, special purpose facilities, interrupt and exception registers, timer regis- ters, cache control registers, translation control registers. the register groups are summarized in tables 21 through 28. source key both same bit definitions as 603 and 401 401 same bit definitions as 401 603 same bit definitions as 603 ppc same bit definitions as general power pc architecture cobra cobra configuration. see 3.19.8 cobra specific register definitions on page 482 for bit descriptions table 21: machine control/status registers register name spr number source por value notes decimal hex cr na na both x ? 0000 0000 ? hid0 1023 x ? 3ff ? cobra x ? 0000 00fc ? this has a different spr number than the 603 and 401. ear 282 x ? 11a ? 603 not supported. writes ignored. reads as zeros (603 i/o addressing support). msr na na cobra x ? 0000 0040 ? contains a combination of bits from 401 and 603. xer 1 x ? 1 ? both x ? 0000 0000 ? mchk 688/689 x ? 2b0 ? / x ? 2b1 ? cobra x ? 0000 0000 ? machine check enable - set bits off/ set bits on. pvr 287 x ? 11f ? cobra x ? 1010 0000 ? cobra specific pvr. table 22: branch control registers register name spr number source por value notes decimal hex ctr 9 x ? 9 ? both x ? 0000 0000 ? lr 8 x ? 8 ? both x ? 0000 0000 ?
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary embedded powerpc processor (cobra) page 476 of 706 pnr261_20cobra.fm.06 august 14, 2000 table 23: debug control registers register name spr number source por value notes decimal hex dabr 1013 x ? 3f5 ? ppc not implemented. use dac1. dac1 1014 x ? 3f6 ? 401 x ? 0000 0000 ? data address compare. dbcr 1010 x ? 3f2 ? 401 x ? 0000 0000 ? debug control register. dbdr 1011 x ? 3f3 ? 401 x ? 0000 0000 ? debug data register. dbsr 1008 x ? 3f0 ? 401 x ? 0000 0000 ? debug status register. iabr 1010 x ? 3f2 ? 603 not implemented. use iac1. iac1 1012 x ? 3f4 ? 401 x ? 0000 0000 ? instruction address compare 1 register. iac2 1013 x ? 3f5 ? 401 x ? 0000 0000 ? instruction address compare 2 register. table 24: special purpose facilities register name spr number source por value notes decimal hex sprg0 272 x ? 110 ? both x ? 0000 0000 ? sprg1 273 x ? 111 ? both x ? 0000 0000 ? sprg2 274 x ? 112 ? both x ? 0000 0000 ? sprg3 275 x ? 113 ? both x ? 0000 0000 ? sprg4-7 276- 279 x ? 114 ? - x ? 117 ? cobra x ? 0000 0000 ? read/write addresses (privileged sprs). sprg4-7 68-71 x ? 44 ? - x ? 47 ? cobra x ? 0000 0000 ? read only addresses (non-privileged sprs). table 25: interrupt and exception registers register name spr number source por value notes decimal hex dar 19 x ? 13 ? 603 same facility as dear with different address. dear 981 x ? 3d5 ? 401 x ? 0000 0000 ? data error address register. dsisr 18 x ? 12 ? 603 x ? 0000 0000 ? status on data exceptions. esr 980 x ? 3d4 ? 401 x ? 0000 0000 ? only mci, pil, ppr, ptr, dst, and pfeu bits implemented. evpr 982 x ? 3d6 ? 401 x ? 0000 0000 ? exception vector prefix register. srr0 26 x ? 1a ? both x ? 0000 0000 ? address of exception for normal interrupts.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_20cobra.fm.06 august 14, 2000 embedded powerpc processor (cobra) page 477 of 706 srr1 27 x ? 1b ? both x ? 0000 0000 ? status of exception / previous msr contents for normal inter- rupts. hid0(27) = 0 (603 mode) the upper 16 bits act as status; the lower 16 bits are set from the msr. hid0(27) = 1 (401 mode) - all bits are set from the msr (the esr is used for status). srr2 990 x ? 3de ? 401 x ? 0000 0000 ? behaves like srr0. used for critical level interrupts. srr3 991 x ? 3df ? 401 x ? 0000 0000 ? behaves like srr1. used for critical level interrupts. table 26: timer registers register name spr number source por value notes decimal hex dec 22 x ? 16 ? 603 x ? ffff ffff ? decrementer. pit 987 x ? 3db ? 401 x ? 0000 0000 ? programmable interval timer. tbhi 988 x ? 3dc ? 401 x ? 0000 0000 ? upper half of 64-bit time base register. read/write. privileged spr. tblo 989 x ? 3dd ? 401 x ? 0000 0000 ? lower half of 64-bit time base register. read/write. privileged spr. tbhu 972 x ? 3cc ? 401 x ? 0000 0000 ? upper half of 64-bit time base register. read only. non-privi- leged spr. tblu 973 x ? 3cd ? 401 x ? 0000 0000 ? lower half of 64-bit time base register. read only. non-privi- leged spr. tbl 284 x ? 11c ? 603 x ? 0000 0000 ? same as tblo, but write only. tbu 285 x ? 11d ? 603 x ? 0000 0000 ? same as tbhi, but write only. tbl 268 x ? 10c ? 603 x ? 0000 0000 ? tbr (not spr) same as tblu. tbu 269 x ? 10d ? 603 x ? 0000 0000 ? tbr (not spr) same as tbhu. tcr 986 x ? 3da ? 401 x ? 0000 0000 ? timer control register. tsr 984 x ? 3d8 ? 401 x ? 0000 0000 ? timer status register. table 25: interrupt and exception registers (continued) register name spr number source por value notes decimal hex
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary embedded powerpc processor (cobra) page 478 of 706 pnr261_20cobra.fm.06 august 14, 2000 table 27: cache control registers register name spr number source por value notes decimal hex dccr 1018 x ? 3fa ? 401 x ? 0000 0000 ? data cacheability control register. dlcr 917 x ? 395 ? cobra x ? 0000 0000 ? data cache locking control register. bits 0-15 correspond to target tags 0-15, enabling auto data cache line locking. dtwf 919 x ? 397 ? cobra x ? 0000 0000 ? data cache target word first fills control register. bits 0-15 correspond to target tags 0-15, enabling target word first data cache fills. iccr 1019 x ? 3fb ? 401 x ? 0000 0000 ? instruction cacheability control register. ilcr 916 x ? 394 ? cobra x ? 0000 0000 ? instruction cache locking control register. bits 0-15 correspond to target tags 0-15, enabling auto instruction cache line locking. itwf 918 x ? 396 ? cobra x ? 0000 0000 ? instruction cache target word first fills control register. bits 0- 15 correspond to target tags 0-15, enabling target word first instruction cache fills. cdcbr 983 x ? 3d7 ? 401 not implemented. dcwr 954 x ? 3ba ? 401 not implemented. icdbdr 979 x ? 3d3 ? 401 not implemented. table 28: translation control registers register name spr number source por value notes decimal hex sdr1 25 x ? 19 ? 603 x ? 0000 0000 ? not supported. translation not supported. sgr 953 x ? 3b9 ? 401 x ? 0000 0000 ? has no affect. all storage is non-guarded. sler 955 x ? 3bb ? 401 not supported. writes ignored, reads as ? 0 ? . stt0 912 x ? 390 ? cobra x ? 0000 0000 ? these registers are used to assign target tags to instruction or data memory accesses. the mapping is stt0(0:3) = x ? 0000 0000 ? :x ? 07ff ffff ? through stt3(28:31) = x ? f800 0000 ? :x ? ffff ffff ? . stt1 913 x ? 391 ? cobra x ? 0000 0000 ? stt2 914 x ? 392 ? cobra x ? 0000 0000 ? stt3 915 x ? 393 ? cobra x ? 0000 0000 ? sr0-15 na na 603 x ? 0000 0000 ? not supported. translation not supported. dbat0u 536 x ? 218 ? 603 x ? 0000 0000 ? not supported. translation not supported. dbat0l 537 x ? 219 ? 603 x ? 0000 0000 ? not supported. translation not supported. dbat1u 538 x ? 21a ? 603 x ? 0000 0000 ? not supported. translation not supported. dbat1l 539 x ? 21b ? 603 x ? 0000 0000 ? not supported. translation not supported. dbat2u 540 x ? 21c ? 603 x ? 0000 0000 ? not supported. translation not supported.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_20cobra.fm.06 august 14, 2000 embedded powerpc processor (cobra) page 479 of 706 dbat2l 541 x ? 21d ? 603 x ? 0000 0000 ? not supported. translation not supported. dbat3u 542 x ? 21e ? 603 x ? 0000 0000 ? not supported. translation not supported. dbat3l 543 x ? 21f ? 603 x ? 0000 0000 ? not supported. translation not supported. dbat4u 568 x ? 238 ? cobra x ? 0000 0000 ? not supported. translation not supported. dbat4l 569 x ? 239 ? cobra x ? 0000 0000 ? not supported. translation not supported. dbat5u 570 x ? 23a ? cobra x ? 0000 0000 ? not supported. translation not supported. dbat5l 571 x ? 23b ? cobra x ? 0000 0000 ? not supported. translation not supported. dbat6u 572 x ? 23c ? cobra x ? 0000 0000 ? not supported. translation not supported. dbat6l 573 x ? 23d ? cobra x ? 0000 0000 ? not supported. translation not supported. dbat7u 574 x ? 23e ? cobra x ? 0000 0000 ? not supported. translation not supported. dbat7l 575 x ? 23f ? cobra x ? 0000 0000 ? not supported. translation not supported. ibat0u 528 x ? 210 ? 603 x ? 0000 0000 ? not supported. translation not supported. ibat0l 529 x ? 211 ? 603 x ? 0000 0000 ? not supported. translation not supported. ibat1u 530 x ? 212 ? 603 x ? 0000 0000 ? not supported. translation not supported. ibat1l 531 x ? 213 ? 603 x ? 0000 0000 ? not supported. translation not supported ibat2u 532 x ? 214 ? 603 x ? 0000 0000 ? not supported. translation not supported. ibat2l 533 x ? 215 ? 603 x ? 0000 0000 ? not supported. translation not supported. ibat3u 534 x ? 216 ? 603 x ? 0000 0000 ? not supported. translation not supported. ibat3l 535 x ? 217 ? 603 x ? 0000 0000 ? not supported. translation not supported. ibat4u 560 x ? 230 ? cobra x ? 0000 0000 ? not supported. translation not supported. ibat4l 561 x ? 231 ? cobra x ? 0000 0000 ? not supported. translation not supported. ibat5u 562 x ? 232 ? cobra x ? 0000 0000 ? not supported. translation not supported. ibat5l 563 x ? 233 ? cobra x ? 0000 0000 ? not supported. translation not supported. ibat6u 564 x ? 234 ? cobra x ? 0000 0000 ? not supported. translation not supported. ibat6l 565 x ? 235 ? cobra x ? 0000 0000 ? not supported. translation not supported. ibat7u 566 x ? 236 ? cobra x ? 0000 0000 ? not supported. translation not supported. ibat7l 567 x ? 237 ? cobra x ? 0000 0000 ? not supported. translation not supported. table 28: translation control registers (continued) register name spr number source por value notes decimal hex
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary embedded powerpc processor (cobra) page 480 of 706 pnr261_20cobra.fm.06 august 14, 2000 table 29: exception vector override registers register name spr number source por value notes decimal hex evc-off 700 x ? 2bc ? cobra x ? 0000 0000 ? see cobra core exceptions on page 470. evc-on 701 x ? 2bd ? cobra x ? 0000 0000 ? see cobra core exceptions on page 470. evov-off 702 x ? 2be ? cobra x ? 0000 0000 ? see cobra core exceptions on page 470. evov-on 703 x ? 2bf ? cobra x ? 0000 0000 ? see cobra core exceptions on page 470. evr-mc 720 x ? 2d0 ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-dsi 721 x ? 2d1 ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-isi 722 x ? 2d2 ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-ex1 723 x ? 2d3 ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-aln 724 x ? 2d4 ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-inv 725 x ? 2d5 ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-prv 726 x ? 2d6 ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-trp 727 x ? 2d7 ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-fpu 728 x ? 2d8 ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-dec 729 x ? 2d9 ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-sc 730 x ? 2da ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-trc 731 x ? 2db ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-smi 732 x ? 2dc ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-pit 733 x ? 2dd ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-fit 734 x ? 2de ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-wdt 735 x ? 2df ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-ex2 752 x ? 2f0 ? cobra x ? ffff fffe ? see cobra core exceptions on page 470. evr-dbg 753 x ? 2f1 ? cobra x ? ffff fffe ? see cobra core exceptions on page 470.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_20cobra.fm.06 august 14, 2000 embedded powerpc processor (cobra) page 481 of 706 table 30: internal debug access address map unit debug bus address range bpu internals x ? 000 ? - x ? 07f ? (for development use only). reg internals x ? 080 ? - x ? 0ff ? (for development use only). lsu internals x ? 100 ? - x ? 17f ? (for development use only). fxu internals x ? 180 ? - x ? 1bf ? (for development use only). icache internals x ? 1c0 ? - x ? 1ff ? (for development use only). immu internals x ? 200 ? - x ? 2bf ? (for development use only). dcache internals x ? 2c0 ? - x ? 2ff ? (for development use only). dmmu internals x ? 300 ? - x ? 3bf ? (for development use only). reserved x ? 3c0 ? - x ? 3ff ? (for development use only).
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary embedded powerpc processor (cobra) page 482 of 706 pnr261_20cobra.fm.06 august 14, 2000 3.19.8 cobra specific register definitions for most of the registers named above, either a 40x or 60x spec will give the bit definition. a few registers are different and are described in detail below. 3.19.8.1 hardware implementation detail 0 register (hid0) enables caches and controls architecture specific functionality. this register controls whether cobra core acts as a 40x or 60x series processor and allows the different features of each architecture to be individually selected. length 32 bits type read/write spr address 1023 (decimal) x ? 3ff ? (hex) address power on reset value x ? 0000 00fc ? (40x mode) x ? 8000 0000 ? - alternative value (60x mode suggested value) restrictions none enable checkstop on machine check reserved allow data machine checks to be imprecise disable instruction pipelining disable conditional dispatch disable instruction/branch pairing disable instruction/cr-logical-op pairing instruction cache enable data cache enable instruction cache power management data cache power management reserved floating point exceptions we enable debug mode select ip/evpr override srr1/3 style disable alignment interrupts on lmw/stmw disable decrementer reserved no-op touch instructions 012345678910111213141516171819202122232425262728293031 bit(s) name description 0 enable checkstop on machine check 1 a machine check that occurs when msr(me)=0 will cause the hardware to freeze, maintaining much of the state of the machine. 0 the processor will attempt to continue execution when a machine check occurs when msr(me)=0. note: when msr(me)=1 and a machine check occurs, a machine check exception is taken regardless of the setting of this bit. 1-10 reserved reserved.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_20cobra.fm.06 august 14, 2000 embedded powerpc processor (cobra) page 483 of 706 11 allow data machine checks to be imprecise setting this to ? 1 ? will result in a very small performance gain, at the expense of accuracy in the srr0/2 of a machine check. 12 disable instruction pipelining 1 disable 0 enable 13 disable conditional dispatch 1 disable 0 enable 14 disable instruction/branch pairing 1 disable 0 enable 15 disable instruction/cr-logical-op pairing 1 disable 0 enable 16 instruction cache enable 0 disable 1 enable 17 data cache enable 0 disable 1 enable 18 instruction cache power manage- ment 0 power management active 1 power management inactive 19 data cache power management 0 power management active 1 power management inactive 20-22 reserved reserved. 23 floating point exceptions 0 treat floating point instructions as illegal instructions. 1 allow floating point instructions to cause floating point unavailable exceptions, if enabled by msr. otherwise, cause illegal instruction exception. 24 we enable enables the msr(we) bit to cause a 40x style we. 0 disabled 1 enabled 25 debug mode select 0 enables the be and se bits of the msr to function as a 60x. 1 enables the msr(de) bit as a 40x. note: all 40x debug facilities (iac, dac, etc.) are disabled when in 60x mode. 26 ip/evpr override 0 evpr contents are used as the upper 16 bits of the exception vector, regardless of the value of msr(ip). 1 msr(ip) determines the upper 16 bits of the exception vector. hid0(ipo=26) msr(ip=25) exception vector 0 0 0000vvvv 0 1 fff0vvvv 1 - eeeevvvv note: eeee = evpr register contents, vvvv = exception vector offset (for example, 0700). 27 srr1/3 style 0 interrupts cause srr1/3 to receive interrupt codes in bits 0:15, and msr contents in bits 16:31. likewise, rfi/rfci restore bits 16:31 of srr1/3 to the msr (60x mode). 1 interrupts cause srr1/3 to receive msr contents in bits 0:31. likewise, rfi/rfci restore bits 0:31 of srr1/3 to the msr (40x mode). note: status is stored in esr register regardless. 28 disable alignment interrupts on lmw/stmw 0 lmw/stmw instructions to non-word aligned addresses cause alignment interrupts (60x mode). 1 lmw/stmw instructions never cause alignment interrupts (40x mode). bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary embedded powerpc processor (cobra) page 484 of 706 pnr261_20cobra.fm.06 august 14, 2000 3.19.8.2 machine state register (msr) controls the run time state of the cobra core. 29 disable decrementer 0 the decrementer register is a free running countdown register which causes a decrementer interrupt when it decrements through ? 0 ? . 1 the decrementer register does not decrement. 30 reserved reserved. 31 no-op touch instructions 0 touch instructions work 1 touch instructions disabled length 32 bits type read/write address accessible via the mtmsr/mfmsr instructions power on reset value x ? 0000 0040 ? restrictions none reserved 401 we 401 ce reserved 603/401 ee 603/401 pr 603/401 fp 603/401 me reserved 603 se 603 be / 401 de reserved reserved ip 603 ir 603 dr reserved reserved 603 ri reserved 012345678910111213141516171819202122232425262728293031 bit(s) name description 0-12 reserved reserved. 13 401 we if hid0(24) = 0, this is a read/write bit with no effect (603 pow). otherwise it is the (401 we) bit. when this bit is set, the processor halts operation until this bit is cleared (auto- matically by any interrupt). 14 401 ce enables critical level exceptions. critical level exceptions are higher priority than normal exceptions. any exception can be assigned critical level in cobra core. this bit can only mask off exceptions programmed to be critical level through other cobra core facilities. by default, no exception is critical level. note: the 60x does not have the concept of critical level exceptions. the 40x has both critical level exceptions and a critical interrupt. the critical interrupt is just a second exter- nal interrupt. in the 40x, specific exceptions were hard wired to be critical level, and the rest were hard wired to be normal level. 15 reserved unimplemented (603 ile). cobra core does not support little endian execution. 16 603/401 ee external interrupt enable. used to mask off non-critical level exceptions. 17 603/401 pr privilege instruction restricted. if this bit is ? 1 ? , attempting to execute a privileged (super- visor) instruction will result in a privilege violation exception. if this bit is ? 0 ? , all instructions may be executed normally. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_20cobra.fm.06 august 14, 2000 embedded powerpc processor (cobra) page 485 of 706 18 603/401 fp if hid0(23) = 1: if fp=0, all floating point instructions cause a floating point disabled inter- rupts. if fp=1, all floating point instructions cause illegal instruction interrupts. if hid0(23) = 0: this is a read/write bit with no effect. 19 603/401 me enables machine check exceptions. if this bit is ? 1 ? , a machine check will cause a machine check exception to occur. if this bit is ? 0 ? , a machine check will cause cobra core to halt execution (if hid0(0) = 1), or the machine check will be ignored (if hid0(0) = 0). 20 reserved unimplemented (603 fe0). cobra core does not support floating point. 21 603 se if hid0(25) = 0 this is 603 se. otherwise, it is a read/write bit with no effect. 22 603 be / 401 de if hid0(25) = 0 this is 603 be. otherwise, it is 401 de. 23 reserved unimplemented (603 fe1). cobra core doesn't support floating point. 24 reserved reserved. 25 ip in combination with hid0(ipo = 26), this bit determines the upper 16 bits of an exception vector. see 3.19.8.1 hardware implementation detail 0 register (hid0) on page 482 for full details. 26 603 ir translation is not supported. do not set this bit. 27 603 dr translation is not supported. do not set this bit. 28 reserved reserved. 29 reserved reserved. 30 603 ri recoverable interrupt. this bit is cleared when an exception is taken. 31 reserved unimplemented (603/401 le). cobra core does not support little endian execution. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary embedded powerpc processor (cobra) page 486 of 706 pnr261_20cobra.fm.06 august 14, 2000 3.19.8.3 exception status register (esr) when an exception occurs, this register is updated to indicate which condition caused the exception. if an exception vector can only be reached by one exception, this register is cleared. length 32 bits type read/write spr address 980 (decimal) x ? 3d4 ? (hex) power on reset value x ? 0000 0000 ? restrictions none mci reserved pil program ppr program ptr program reserved dst data storage reserved pfeu program reserved 012345678910111213141516171819202122232425262728293031 bit(s) name description 0 mci machine check - instruction. 1-3 reserved reserved. 4 pil program program - illegal instruction exception. 5 ppr program program - privileged instruction exception. 6 ptr program program - trap instruction exception. 7 reserved reserved. 8 dst data storage a store instruction or (dcbz/dcbi) caused the data exception. 9-12 reserved reserved. 13 pfeu program floating point enabled, but instruction unimplemented exception. 14-31 reserved reserved.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_20cobra.fm.06 august 14, 2000 embedded powerpc processor (cobra) page 487 of 706 3.19.8.4 machine check enable register (mchk) when an exception occurs, this register is updated to indicate which condition caused the exception. if an exception vector can only be reached by one exception, this register is cleared. length 32 bits type clear/set spr address 688 and 689 (decimal) x ? 2b0 ? and x ? 2b1 ? (hex) power on reset value x ? 0000 0000 ? restrictions none reserved enable instruction machine check enable data machine check reserved enable lsu no valid instruction machine check reserved enable spr multiple data returned machine check enable spr multiple ack returned machine check reserved reported instruction machine check reported data machine check reserved reported lsu no valid instruction machine check reserved reported spr multiple data returned machine check reported spr multiple ack returned machine check 012345678910111213141516171819202122232425262728293031 bit(s) name description 0-6 reserved reserved. 7 enable instruction machine check this bit set to a ? 1 ? allows bit 23 of this register to cause a machine check in cobra. 8 enable data machine check this bit set to a ? 1 ? allows bit 24 of this register to cause a machine check in cobra. 9-11 reserved reserved. 12 enable lsu no valid instruction machine check this bit set to a ? 1 ? allows bit 28 of this register to cause a machine check in cobra. 13 reserved reserved. 14 enable spr multiple data returned machine check this bit set to a ? 1 ? allows bit 30 of this register to cause a machine check in cobra. 15 enable spr multiple ack returned machine check this bit set to a ? 1 ? allows bit 31 of this register to cause a machine check in cobra. 16-22 reserved reserved.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary embedded powerpc processor (cobra) page 488 of 706 pnr261_20cobra.fm.06 august 14, 2000 23 reported instruction machine check this bit is set when any of bits 3-0 of the pcore cobra core external machine check status register on page 433 are set. 24 reported data machine check this bit is set when any of bits 19-16 of the pcore cobra core external machine check status register on page 433 are set. 25-27 reserved reserved. 28 reported lsu no valid instruction machine check. this bit, when set, is indicative of a hardware failure. 29 reserved reserved. 30 reported spr multiple data returned machine check this bit, when set, is indicative of a hardware failure. 31 reported spr multiple ack returned machine check this bit, when set, is indicative of a hardware failure. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_21rs232.fm.06 august 14, 2000 rs-232 interface logic (rs-232) page 489 of 706 3.20 rs-232 interface logic (rs-232) the rs-232 entity provides a means by which an external debugger and the processor core can communi- cate. the rs-232 operates on a one- or four-byte wide basis. 3.20.1 rs-232 control register this register controls the operation of the rs-232 logic. length 32 bits type clear/set dcr address x ? 210 ? and x ? 211 ? power on reset value x ? 0000 0000 ? restrictions none reserved byte wide mode internal wrap mode force rts active force dsr active internal force cts active internal stop bits parity enable odd/even parity transmit start rs-232 port enable 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-10 reserved reserved. 9 byte wide mode this bit set to ? 1 ? makes the port operate in byte-wide mode. when a transmit is started, only bits 7-0 of the transmit buffer are sent. a receive interrupt is generated whenever a byte is received. 8 internal wrap mode this bit set to ? 1 ? connects the transmit data stream to the receive data stream. 7 force rts active this bit set to ? 1 ? forces rts to be driven active, regardless of what the transmit state machine is doing. 6 force dsr active internal this bit set to ? 1 ? forces dsr internal to rs-232 to appear active, regardless of the dsr input ? s state. 5 force cts active internal this bit set to ? 1 ? forces cts internal to rs-232 to appear active, regardless of the cts input ? s state. 4stop bits this bit set to ? 1 ? indicates the port should use two stop bits. this bit set to ? 0 ? indicates the port should use one stop bit. 3 parity enable this bit set to ? 1 ? enables parity. 2 odd/even parity if parity is enabled, this bit, set to ? 1 ? , sets the parity type to odd. this bit set to ? 0 ? sets the parity type to even. 1 transmit start this bit set to ? 1 ? initiates the transmission of what is in the transmit buffer. this bit is cleared by hardware when the transmission is complete. 0 rs-232 port enable this bit set to ? 1 ? enables the rs-232 port.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary rs-232 interface logic (rs-232) page 490 of 706 pnr261_21rs232.fm.06 august 14, 2000 3.20.2 rs-232 status register this register controls the operation of the rs-232 logic. length 32 bits type clear/set dcr address x ? 212 ? and x ? 213 ? power on reset value x ? 0000 0000 ? restrictions none reserved dsr inactive cts inactive transmit complete framing error overrun error parity error receive complete 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-7 reserved reserved. 6 dsr inactive this bit set to ? 1 ? indicates dsr has gone inactive. 5 cts inactive this bit set to ? 1 ? indicates cts has gone inactive. 4 transmit complete this bit set to ? 1 ? indicates the current transmission has completed. 3 framing error this bit set to ? 1 ? indicates a framing error has been detected. 2 overrun error this bit set to ? 0 ? indicates four bytes were received before the previous (1-byte mode) or four bytes (4-byte mode) had been read from the receive buffer. 1 parity error this bit set to ? 1 ? indicates a parity error has been detected. 0 receive complete this bit set to ? 1 ? indicates data from a clean reception is in the receive buffer.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_21rs232.fm.06 august 14, 2000 rs-232 interface logic (rs-232) page 491 of 706 3.20.3 rs-232 interrupt enable register this register contains bits corresponding to the bits in the rs-232 status register . if a bit in this register is set and the corresponding bit is set in the rs-232 status register, an interrupt is generated. bits 6-4 generate a transmit interrupt and bits 3-0 generate a receive interrupt. 3.20.4 rs-232 transmit buffer this register contains the data to be sent over the rs-232 connection. length 32 bits type clear/set dcr address x ? 214 ? and x ? 215 ? power on reset value x ? 0000 0000 ? restrictions none reserved tx interrupt rx interrupt 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-7 reserved reserved. 6-4 tx interrupt generates a transmit interrupt. 3-0 rx interrupt generates a receive interrupt. length 32 bits type read/write dcr address x ? 216 ? power on reset value x ? 0000 0000 ? restrictions none transmit data 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 transmit data data to be sent over link. only bits 7-0 are sent in byte mode. the other bits are shifted, so the user can write all four bytes at once and just set the transmit bit four times.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary rs-232 interface logic (rs-232) page 492 of 706 pnr261_21rs232.fm.06 august 14, 2000 3.20.5 rs-232 receive buffer this register contains the data received over the rs-232 connection. once this buffer is full, software has four byte receive times minimum to read it before an overrun condition can occur. 3.20.6 rs-232 baud rate register this register contains the value used to determine the baud rate. the value to place in this register can be determined by this formula: baud rate = 133 mhz/(8*(baud rate register + 1)). length 32 bits type read/write dcr address x ? 217 ? power on reset value x ? 0000 0000 ? restrictions none receive data 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 receive data data received over the link. only bits 7-0 are valid in byte mode. length 32 bits type read/write dcr address x ? 218 ? power on reset value x ? 0000 0000 ? restrictions none reserved baud rate 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 reserved reserved. 15-0 baud rate suggested values: x ? 120 ? - 56600 x ? 1b0 ? - 38400 x ? 240 ? - 28800 x ? 360 ? - 19200
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_21rs232.fm.06 august 14, 2000 rs-232 interface logic (rs-232) page 493 of 706 3.20.7 rs-232 cts/dsr glitch timer rate this register contains the number of (baud rate/8) clocks cts/dsr must be active/inactive before the state of cts/dsr is considered valid. transitions of shorter duration are assumed to be glitches. 3.20.8 rs-232 reset register this register resets the port. length 32 bits type read/write dcr address x ? 219 ? power on reset value x ? 0000 0020 ? restrictions none reserved glitch timer rate 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 reserved reserved. 15-0 glitch timer rate number of (baud rate/8) clocks cts or dsr must be active before they are considered valid. length 32 bits type clear/set dcr address x ? 21a ? and x ? 21b ? power on reset value x ? 0000 0000 ? restrictions none reserved reset 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-1 reserved reserved. 0 reset this bit set to ? 1 ? resets the port. the port will remain reset until this bit is cleared.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary rs-232 interface logic (rs-232) page 494 of 706 pnr261_21rs232.fm.06 august 14, 2000 3.20.9 rs-232 error forcing register this register can be used by diagnostics in a wrap environment (external or internal) to force frame and parity errors. overrun errors can be generated by sending four bytes, not reading the receive buffer, and sending four more bytes. length 32 bits type read/write dcr address x ? 21c ? power on reset value x ? 0000 0000 ? restrictions none reserved force framing error force parity error 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-2 reserved reserved. 1 force framing error setting this bit to a ? 1 ? forces the first frame bit to a ? 0 ? on all transmits. 0 force parity error setting this bit to a ? 0 ? forces the receive logic to check for the opposite parity the transmit logic is using.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_22ppocm.fm.06 august 14, 2000 powerpc on-chip memory (ppocm) entity page 495 of 706 3.21 powerpc on-chip memory (ppocm) entity the ppocm entity is comprised of several sram arrays that provide a 96-kb memory that may be used by the internal processor or the pnr. also included in ppocm is a dma controller that the processor may use to do bulk data moves between the sram arrays and control memory, packet memory, or memory on an exter- nal pci device. the ppocm arrays are referred to as on-chip memory and the three external memories (control, packet, pci) are referred to collectively as off-chip memory. 3.21.1 dma controller the dma controller moves data in 8-byte aligned, 8-byte portions. in real addressing mode, up to 64 kb can be transferred at once. in virtual addressing mode, there are more restrictions. the dma must remain within the virtual 4-kb page for both the ppocm array address and the off-chip memory address. 3.21.2 ppocm control register this register contains information which controls the functions of the entity. length 32 bits type clear/set dcr address x ? 100 ? and x ? 101 ? power on reset value x ? 0000 0000 ? restrictions none reserved dma blocking mode dma read not write start dma 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-4 reserved reserved. 3-2 dma blocking mode these bits control how non-dma accesses to ppocm are handled while a dma is in progress. they are encoded as follows: 00 non-dma ppocm accesses are held off until the dma is complete. 01 non-dma ppocm accesses are held off only if the requester is attempting to use an array that will be involved in the dma. 10 reserved. 11 reserved. 1 dma read not write setting this bit will indicate the dma being set up is to transfer data from off-chip memory into ppocm. clearing this bit indicates the dma should transfer data from ppocm to off- chip memory. 0 start dma setting this bit initiates the dma operation. this bit will clear automatically when the dma is completed.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary powerpc on-chip memory (ppocm) entity page 496 of 706 pnr261_22ppocm.fm.06 august 14, 2000 3.21.3 ppocm status register this register contains status information that can be used to generate interrupts. length 32 bits type clear/set dcr address x ? 102 ? and x ? 103 ? power on reset value x ? 0000 0000 ? restrictions none reserved zero length dma dma beyond bounds of on-chip memory on-chip address virtual mode page violation off-chip address virtual mode page violation virtual mode length error real addressing mode length error addressing mode error timeout complete 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-9 reserved reserved. 8 zero length dma this bit, set to a ? 1 ? , indicates a dma with a length of zero was attempted. 7 dma beyond bounds of on-chip memory this bit, set to a ? 1 ? , indicates the on-chip address plus the dma length yields a value that exceeds the address pace of the on-chip memory. 6 on-chip address virtual mode page violation this bit, set to a ? 1 ? , indicates the on-chip virtual address provided to ppocm in combina- tion with the dma length results in a virtual page cross. 5 off-chip address virtual mode page violation this bit, set to a ? 1 ? , indicates the off-chip virtual address provided to ppocm in combina- tion with the dma length results in a virtual page cross. 4 virtual mode length error this bit, set to a ? 1 ? , indicates a virtual address mode dma was started and the value in the dma length register is greater than 4 kb. 3 real addressing mode length error this bit, set to a ? 1 ? , indicates a real address mode dma was started and the value in the dma length register is greater than 64 kb. 2 addressing mode error this bit, set to a ? 1 ? , indicates the off-chip memory and on-chip address written to the dma address registers must be either both real or both virtual. 1 timeout this bit, set to a ? 1 ? , indicates the dma timer expired. 0 complete this bit, set to a ? 1 ? , indicates the dma completed. the other bits in this register being a ? 0 ? will indicate a good completion.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_22ppocm.fm.06 august 14, 2000 powerpc on-chip memory (ppocm) entity page 497 of 706 3.21.4 ppocm interrupt enable register this register allows the user to enable interrupts for each of the conditions reported in the ppocm status register . each bit corresponds to the same bit in the status register and when set to ? 1 ? generates an interrupt to the processor if the condition is detected. 3.21.5 ppocm dma off-chip effective address register this register provides the dma controller the effective address of the off-chip portion of the dma. length 32 bits type clear/set dcr address x ? 104 ? and x ? 105 ? power on reset value x ? 0000 0000 ? restrictions none length 32 bits type read/write dcr address x ? 106 ? power on reset value x ? 0000 0000 ? restrictions none off-chip effective address reserved 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-3 off-chip effective address off-chip address involved in dma transfer. 2-0 reserved reserved.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary powerpc on-chip memory (ppocm) entity page 498 of 706 pnr261_22ppocm.fm.06 august 14, 2000 3.21.6 ppocm dma on-chip effective address register this register provides the dma controller the effective address of the on-chip portion of the dma. 3.21.7 ppocm dma length register this register provides the dma controller the length of the dma. the maximum dma length in real address- ing mode is x ? 0001 0000 ? (64 kb). the maximum dma length in virtual addressing mode is x ? 0000 1000 ? (4 kb). length 32 bits type read/write dcr address x ? 107 ? power on reset value x ? 0000 0000 ? restrictions none on-chip effective address reserved 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-3 on-chip effective address on-chip address involved in dma transfer. 2-0 reserved reserved. length 32 bits type read/write dcr address x ? 108 ? power on reset value x ? 0000 0000 ? restrictions none reserved dma length 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-16 reserved reserved. 16-0 dma length only bits 16-3 are writable as dmas are done only in 8-byte segments.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_22ppocm.fm.06 august 14, 2000 powerpc on-chip memory (ppocm) entity page 499 of 706 3.21.8 ppocm dma timeout timer register this register is compared to a timer that begins running when bit 0 of the control register is set to ? 1 ? . when the timer reaches the value in this register, the dma is terminated and a status bit is set. the default value of x ? ff ffff ? results in a timeout value of 125 ms. length 32 bits type read/write dcr address x ? 109 ? power on reset value x ? 00ff ffff ? restrictions none reserved timeout value 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-24 reserved reserved. 23-0 timeout value timeout value.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary powerpc on-chip memory (ppocm) entity page 500 of 706 pnr261_22ppocm.fm.06 august 14, 2000
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_23jtag.fm.06 august 14, 2000 jtag interface logic (cjtag) page 501 of 706 3.22 jtag interface logic (cjtag) the cjtag entity contains logic to support a test access port (tap) controller compliant with the ieee 1149.1-1993 standard. the tap controller is accessed via the following five pins: the proper operation of these signals and the tap controller is defined in the ieee 1149.1-1993 standard. 3.22.1 scanning the tap controller supports two types of scans: instruction scans and data scans. instruction scans control the type of operation and select which, if any, scan chains are involved in the operation. data scans generally clock the data on tdi into the selected scan chain. tck test clock. all activity of the jtag interface is clocked via tck. events occur on the rising or falling edge of tck. tck should have a maximum frequency of 20 mhz. tms test mode select. test mode select is used to control state transitions in the tap con- troller. these transitions occur on the rising edge of tck. tdi test data in. serial data input to the jtag logic. tdo test data out. serial data output to the jtag logic. trst test reset. asynchronous, minus active reset to the tap controller. assertion of this input causes the tap controller to reset and the jtag instruction register to load the idcode instruction. it is preferable to have trst be independent of any chip reset. with an independent reset, the jtag logic can be reset, allowing the chip ? s state to be examined without having to reset the core logic.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary jtag interface logic (cjtag) page 502 of 706 pnr261_23jtag.fm.06 august 14, 2000 3.22.2 instruction format the processor ? s jtag logic supports 32-bit instructions in one of two formats: the first format uses opcodes comply with the ieee standard; the other supports opcodes that are compatible but not compliant with the ieee st andard. as an instruction is scanned in, status for the previous instruction is presented on tdo. instruction opcode odd parity reserved 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-17 instruction opcode instruction opcode. 16 odd parity in compatible mode, this is odd parity over bits 15-0. 15-0 reserved reserved. reserved compatible mode bad modifier parity detected bist running reserved hardwired 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-6 reserved reserved. 5 compatible mode compatible mode. 4 bad modifier parity detected bad modifier parity detected. 3 bist running bist running. 2 reserved reserved. 1-0 hardwired hardwired to ? 01 ? as required by ieee specification.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_23jtag.fm.06 august 14, 2000 jtag interface logic (cjtag) page 503 of 706 3.22.3 instructions 3.22.3.1 idcode returns a 32-bit identification code when a data scan is performed. the idcode has the following structure: 3.22.3.2 sample/preload captures the state of the boundary scan i/o. as the values captured are scanned out, new values can be loaded into the boundary scan latches. this operation will not affect functional operation. 3.22.3.3 extest drives the values in the boundary scan latches onto their respective i/o. this function can be used in con- junction with sample/preload to perform card wire tests. 3.22.3.4 bypass selects the single bit bypass register for data scans. 3.22.3.5 runbist causes built in self test (bist) to execute. opcode x ? 0300 xxxx ? bit(s) name description 31-28 version number this is set to x ? 1 ? for 2.61. 27-12 part number this is set to x ? 4700 ? for IBM32NPCXX1EPABBE66. 11-0 manufacturer this is set to x ? 049 ? for ibm. opcode x ? 0402 xxxx ? opcode (compliant) x ? 0000 0000 ? opcode (compatible) x ? 0600 xxxx ? opcode (compliant) x ? ffff ffff ? opcode (compatible) x ? ffff xxxx ? or x ? 0000 xxxx ? opcode x ? 0770 xxxx ?
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary jtag interface logic (cjtag) page 504 of 706 pnr261_23jtag.fm.06 august 14, 2000 3.22.3.6 bist_results returns a 64-bit value when a data scan is performed. bits 63-32 are the prpg and bits 31-0 are the misr from the bist logic. 3.22.3.7 compatible_mode this command enables jtag compatible but not compliant mode. 3.22.3.8 compliant_mode this command enables jtag compliant mode. 3.22.3.9 stop this command halts the functional clocks of the pnr in anticipation of a scan. after the stop command is scanned in, a data scan that takes the tap controller through the capture-dr, exit1-dr, and update-dr states should be performed. this will capture the state of the i/o so that they can be held in a known state if a scan command is issued. 3.22.3.10 scan this command causes tdi to be clocked into the scan chain during a subsequent data scan. the scan out of the scan chain is placed on tdo. this command will not work unless a stop command is sent down imme- diately before the scan command is issued. 3.22.3.11 scan_in this command causes tdi to be clocked into the scan chain during a subsequent data scan. tdo is forced to ? 0 ? . this command will not work unless a stop command is sent down immediately before the scan_in command is issued. opcode x ? 1f02 xxxx ? opcode x ? 3000 ? opcode ? 3301 0000 ? opcode x ? 2002 ? opcode x ? 0802 ? opcode x ? 0900 ?
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_23jtag.fm.06 august 14, 2000 jtag interface logic (cjtag) page 505 of 706 3.22.3.12 scan_out this command causes the scan out of the scan chain to be placed on tdo. data is recirculated through the scan chains. tdi is ignored. this command will not work unless a stop command is sent down immediately before the scan_out command is issued. 3.22.3.13 private_rw1 this command is used by riscwatch. 3.22.3.14 private_rw2 this command is used by riscwatch. 3.22.3.15 private_rw3 this command is used by riscwatch. opcode x ? 0a00 ? opcode x ? 0500 ? opcode x ? 0582 ? opcode x ? 05c0 ?
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary jtag interface logic (cjtag) page 506 of 706 pnr261_23jtag.fm.06 august 14, 2000
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 507 of 706 3.23 sonet framer core (framr chiplet address mapping) 3.23.1 description of gppint 3.23.1.1 overview the general purpose processor interface (gppint) provides direct access to registers located in the gppint module; it provides delayed access to registers and counters located in the gpphandler modules of the various chiplets of the sonet core. gppint controls the handshaking with the external microprocessor as well as the handshaking with the gpphandlers at the asynchronous chiplet interfaces. address decoding is done to the chiplet level in gppint. in addition, addresses are decoded to the register level for the local gppint registers. 3.23.1.2 reset register each chiplet is controlled by one reset bit. at power-on, all reset bits are active and the chiplets are disabled. they can be released by the general purpose processor (gpp) only after all global configuration parameters have been set and the clocks to the chiplets have been established. in addition, there are reset bits for the chiplets that do not have their own gpphandler. 3.23.1.3 interrupt registers the interrupt register is used as a pointer to the chiplet interrupt registers with pending requests: the clock status error register, and the handshaking error register. an active bit of the interrupt register is reset by removing the cause for the request in the corresponding chiplet or by masking the active irq bit(s) in the chiplet; therefore, the interrupt registers (including the pointer) are read only. all interrupt and pointer regis- ters have a corresponding mask register (r/w). every unmasked, active interrupt bit causes an active pointer bit. every unmasked, active pointer bit causes activation of the interrupt signal to the microprocessor. 3.23.1.4 handshaking error registers each bit of the handshaking error registers indicates a locked interface to one of the chiplet gpphandlers. two additional bits indicate various timeout events. to reset an individual bit of the handshaking error regis- ter, the cause for the request must be removed and a ? 1 ? must be written into the bit location of the register (r/ w). reading the register will reset the whole (8-bit) register if the corresponding ? clear-register ? option is set table 31: framr chiplet address mapping chiplet name short name chiplet base address chiplet address range number of bytes reserved x ? 000 ? x ? 000 - 0ff ? 256 ach_tx ht x ? 100 ? x ? 100 - 1ff ? 256 ach_rx hr x ? 200 ? x ? 200 - 2ff ? 256 reserved x ? 300 ? x ? 300 - 3ff ? 256 ofp_tx ot x ? 400 ? x ? 400 - 7ff ? 1024 ofp_rx or x ? 800 ? x ? 800 - bff ? 1024 gppint gp x ? c00 ? x ? c00 - cff ? 256 reserved x ? d00 ? x ? d00 - fff ? 768
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 508 of 706 pnr261_24framr.fm.06 august 14, 2000 in the configuration register. the handshaking error indication register has a corresponding m ask register (r/w). every unmasked, active handshaking error bit causes activation of the pointer bit in the gppint inter- rupt register. 3.23.1.5 clock monitor status registers the clock monitor status register bits indicate the loss of a specific chiplet ? s clock. they are set whenever a difference between the clock test signal and the individual chiplet clock acknowledge signal occurs after one clock monitor test period. to reset an individual bit of the clock monitor status registers, the clock of the corre- sponding chiplet must be restored and a ? 1 ? must be written into the bit location of the register (r/w). reading one of the registers will reset the whole (8-bit) register if the corresponding ? clear-register ? option is set in the configuration register. the clock monitor status register has a corresponding mask register (r/w). every unmasked, active clock monitor status bit causes activation of the pointer bit in the gppint register. 3.23.1.6 local gppint configuration registers there are registers (r/w) for the clock monitor test period, the watchdog timer period and the ? clear-regis- ter ? option. a read-only register provides the vital product data (vpd). 3.23.1.7 global static configuration registers these are configuration parameters that are shared by many chiplets or are needed by chiplets that have no gpphandler. the initial values can be modified by the microprocessor after power-on, but should not be changed later on. all global static configuration registers are r/w. 3.23.1.8 status registers these registers provide status information from chiplets that have no gpphandler and are read only. pres- ently, there is only one status register for the sim chiplet (pll lock status).
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 509 of 706 3.23.2 description of gpphandler 3.23.2.1 overview all gpp handlers for the various chiplets have the following general register structure. 3.23.2.2 counter registers every counter has an enable bit in the counter enable register (addr 2 or 3), and optionally up to two program- mable thresholds. each counter has an interrupt bit for overflow and up to two interrupt bits for threshold crossing in the counter interrupt registers. for all counters in one handler there is one common ? read-on-the- fly register ? that is used to store the higher order bytes to obtain a correct readback value for counters larger than eight bits. counters are read-only registers; the count enable registers are read/write. note: counter reading is independent of the counter length, given that a counter has address n as base, reading address n or address n-1 both yield the least significant byte of the counter. reading address n has no influence on the counter, but reading address n-1 will reset the counter after the read. reading address n or n-1 will always latch the higher order bytes into the read-on-the-fly register (before the optional automatic reset). counters can only be read and not written to. for a 16-bit counter, the most significant byte should be read from rofmid (address 0). for a 24-bit counter, the most significant byte is read from rofhi (address 1), the next byte from rofmid (address 0). to completely read a 24-bit counter: first read least significant byte from counter address n or n-1, then read rofmid and rofhi (address 0; address 1). 3.23.2.3 reset registers each handler has a two-bit reset register. bit 0 is the chiplet reset control. this bit is active high after power on reset, causing the chiplet to be disabled. bit 1 is the chiplet halt signal, which for selected chiplets freezes the state machines for diagnostic purposes. this is a read/write register. 3.23.2.4 command registers the optional command register(s) will generate events to the chiplet. when a bit is written high by the micro- processor, it will remain high for one chiplet clock cycle. therefore, reading back a command register w ill always read back zeroes. this is a read/write register. table 32: gpphandler architecture address range register function x ? 0 ? - x ? 1 ? read-on-the-fly registers x ? 2 ? - x ? 3 ? counter enable registers x ? 4 ? - x ? 2f ? counters and counter threshold registers x ? 30 ? reset register x ? 31 ? - x ? 32 ? command registers x ? 33 ? - x ? 37 ? event latch registers (was called status) x ? 38 ? - x ? 47 ? interrupt registers (addr=int reg, addr-1=int mask reg) x ? 48 ? - x ? 57 ? configuration registers
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 510 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.2.5 event latch registers the optional event latch register(s) remember one ore more occurrences of events that happen in a chiplet. this may be considered as a one-bit saturating counter. each bit in the register corresponds to an event in the chiplet. such bits remain high after the event happened until the microprocessor implicitly or explicitly resets the bit. this is configurable: implicit reset is done by writing a high value to the bit that is to be reset. explicit will reset all bits of one register when the register is read. this is a read/write register. 3.23.2.6 interrupt registers when there are counters, user interrupts, or fatal bits in a chiplet, a main interrupt register will be present. bit 0 always is the fatal interrupt bit, which is set as soon as any of the fatal interrupt events occur. the other bits refer to counters or user interrupt registers to allow easy determination of the interrupt cause. each interrupt register has an interrupt mask register to enable or disable interrupt. after poweron reset, interrupts are disabled. the interrupt registers are the same as the event latch registers, with the addition that when an interrupt register bit is set, and the corresponding mask register bit is set, the interrupt signal to the gppint chiplet is activated. the same mechanism to reset the interrupt register bits is used as for the event latch registers. the interrupt mask registers are only chan ged by the microprocessor. the interrupt and interrupt mask registers are read/write. 3.23.2.7 configuration registers these registers are programmed by the microprocessor with setup information, and are read/write. the first configuration register reserves bits 1 and 7 to configure explicit or implicit reset of the event latch registers and interrupt registers, respectively (when such registers are present). 3.23.2.8 register types f read-on-the-fly register (auto-generated) n counter register r reset register i interrupt register (auto-generated) c configuration register x control or mask register (auto-generated) s status (event latch) register o command register
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 511 of 706 3.23.3 gppint registers table 33: gppint chiplet address mapping overview: base address = x ? c00 ? register name description 1 address offset type initial value resgp1 reset register x ? 00 ? r/w ? 11111111 ? resgp2 reset register x ? 01 ? r/w ? 11111111 ? ... reserved x ? 02 - 0f ? irqgp1 chiplet interrupt request register #1 x ? 10 ? r ? 00000000 ? ... reserved x ? 11 - 17 ? irmgp1 chiplet interrupt mask register #1 x ? 18 ? r/w ? 00000000 ? ... reserved x ? 19 - 1f ? hshake1 handshaking error register #1 x ? 20 ? r/w ? 00000000 ? ... reserved x ? 21 - 27 ? hsmask1 handshaking error mask register #1 x ? 28 ? r/w ? 00000000 ? ... reserved x ? 29 - 2f ? clkstat1 clock status register #1 x ? 30 ? r/w ? 00000000 ? ... reserved x ? 31 - 37 ? clkmask1 clock status mask register #1 x ? 38 ? r/w ? 00000000 ? ... reserved x ? 39 - 47 ? cmongp1 clock monitor test period x ? 48 ? r/w ? 00000000 ? wdtgp1 watchdog timer period x ? 49 ? r/w ? 11111111 ? confgp1 ? clear-register ? option register x ? 4a ? r/w ? 11111111 ? ... reserved x ? 4b - 4f ? vmd vital macro data register x ? 50 ? r ? 10000001 ? ... reserved x ? 51 - 57 ? gatmcs common atm/cs static configuration register x ? 58 ? r/w ? 00000000 ? gcasc common cascading static configuration register x ? 59 ? r/w ? 10101010 ? glooptx transmit loopback static configuration register x ? 5a ? r/w ? 00000000 ? glooprx receive loopback static configuration register x ? 5b ? r/w ? 00000000 ? gextres external clock recovery circuit reset register x ? 5c ? r/w ? 00000000 ? ... reserved x ? 5d - 67 ? ofptxgp ofp_tx static configuration register x ? 68 ? r/w ? 00000000 ? ofprxgp1 ofp_rx static configuration register #1 x ? 69 ? r/w ? 00000000 ? ofprxgp2 ofp_rx static configuration register #2 x ? 6a ? r/w ? 00000000 ? ... reserved x ? 6b - 71 ? pimrconf2 pim_rx static configuration register #2 x ? 73 ? r/w ? 00000000 ? ... reserved x ? 74 - 7e ? simstat sim status register x ? 7f ? rn.a. ... reserved x ? 80 - ff ? 1. all registers are of 32-bit width.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 512 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.3.1 chiplet reset register 1 (resgp1) the bits of the chiplet reset register control the resetting (enabling/disabling) of complete chiplets. for each bit position: 0 = reset inactive for this chiplet. 1 = reset active (chiplet is disabled; default). length 8 bits type read/write framer address c00 power on reset value x ? ff ? resht1 reshr1 resot1 resor1 txrpis1 rxrpis1 reserved 76543210 bit(s) name description 7 resht1 reset to chiplet ach_tx 1. 6 reshr1 reset to chiplet ach_rx 1. 5 resot1 reset to chiplet ofp_tx 1. 4 resor1 reset to chiplet ofp_rx 1. 3 txrpis1 reset to chiplet pis_tx 1. 2 rxrpis1 reset to chiplet pis_rx 1. 1-0 reserved reserved.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 513 of 706 3.23.3.2 chiplet reset register 2 (resgp2) the bits of the chiplet reset register control the resetting (enabling/disabling) of complete chiplets. for each bit position: 0 = reset inactive for this chiplet 1 = reset active (chiplet is disabled; default). length 8 bits type read/write framer address c01 power on reset value x ? ff ? resht2 reshr2 resot2 resor2 txrpis2 rxrpis2 reserved 76543210 bit(s) name description 7 resht2 reset to chiplet ach_tx 2. 6 reshr2 reset to chiplet ach_rx 2. 5 resot2 reset to chiplet ofp_tx 2. 4 resor2 reset to chiplet ofp_rx 2. 3 txrpis2 reset to chiplet pis_tx 2. 2 rxrpis2 reset to chiplet pis_rx 2. 1-0 reserved reserved.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 514 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.3.3 chiplet interrupt and mask registers (irqgp1 (irmgp1)) the chiplet interrupt request register indicates pending interrupt requests from individual chiplets. an active bit of this register is reset by removing the cause for the request in the corresponding chiplet or by masking the active irq bit(s) in the chiplet; therefore, this register is read only. for each bit position: 0 = no chiplet interrupt request pending. 1 = chiplet has pending interrupt request(s). the chiplet interrupt request mask register bits control the propagation of a chiplet interrupt request to the sonet macro interrupt output pin. the mask registers allow read and write access. for each bit position: 0 = the corresponding interrupt request bit is masked (default). 1 = the corresponding interrupt request bit is active (for irmgp1, the corresponding interrupt request bit activates the sonet macro interrupt). length 8 bits type read only framer address c10 power on reset value x ? 00 ? irqht irqhr irqot irqor reserved feioccs feiochs 76543210 bit(s) name description 7 irqht irq from ach_tx. 6 irqhr irq from ach_rx. 5 irqot irq from ofp_tx. 4 irqor irq from ofp_rx. 3-2 reserved reserved. 1 feloccs pending clock status error active. 0 felochs pending handshaking error active.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 515 of 706 3.23.3.4 handshaking error indication and mask registers (hshake1) the local handshaking error indication register indicates pending handshaking error requests from the gppint chiplets. for each bit position: 0 = normal operation of the corresponding chiplet. 1 = the corresponding chiplet did not deassert its dtack signal. exception: the signals toerror and interror (hshake2(1-0)) have the following meaning: normal opera- tion gpp deasserts strobes without waiting for dtack assertion watchdog timeout in rest state watchdog timeout in req state. an active bit of the handshaking error indication register is reset by removing the cause for the malfunctioning of the chiplet and by writing a ? 1 ? into the corresponding bit position. reading one register will reset all bits of this register if the ? clear-register ? option is set in confgp1(2). the handshaking error indication mask register bits control the propagation of the gppint handshaking error request of the register hshake1. hsmask1 controls propagation to the signal felochs (bit 0 of irqgp1 register). the mask registers allow read and write access. for each bit position: 0 = the corresponding handshaking error indication bit is masked (default). 1 = the corresponding request bit is active (for hsmask1, the corresponding request bit activates signal felochs (bit 0 of irqgp1 register). ? clear-register ? option set in confgp1(2). length 8 bits type read/write framer address c20 power on reset value x ? 00 ? dtack from ach_tx dtack from ach_rx dtack from ofp_tx dtack from ofp_rx reserved toerror interror 76543210 bit(s) name description 7 dtack from ach_tx dtack from ach_tx stuck at one. 6 dtack from ach_rx dtack from ach_rx stuck at one. 5 dtack from ofp_tx dtack from ofp_tx stuck at one. 4 dtack from ofp_rx dtack from ofp_rx stuck at one. 3-2 reserved reserved. 1 toerror time out error of the gpp interface (see above). 0 interror gpp interface error (see above).
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 516 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.3.5 clock monitor status and mask registers (clkstat1 (clkmask1)) the clock monitor status register bits indicate the loss of a specific island ? s clock. they are set whenever a difference between the clock test signal and the individual island ? s clock acknowledge signal occurs after the clock monitor test period. for each bit position: 0 = normal operation of the corresponding clock island 1 = the corresponding island clock is lost. an active bit of this register is reset by restoring the clock of the corresponding clock island and by writing a one into the corresponding bit position. reading one reg- ister will reset all bits of this register if the ? clear-register ? option is set in bit confgp1(3). the clock moni- tor mask register clkmask1 controls the propagation of active clock monitor status signals. clkmask1 controls propagation to the signal feloccs (bit 1 of irqgp1 register). the mask registers allow read and write access. for each bit position: 0 = the corresponding clock status bit is masked (default). 1 = the corresponding clock status bit is active (for clkmask1, the corresponding bit activates the signal feloccs (bit 1 of irqgp1 register). length 8 bits type read/write framer address c30 power on reset value x ? 00 ? island ach_tx island ach_rx island ofp_tx island ofp_rx reserved 76543210 bit(s) name description 7 island ach_tx island ach_tx lost clock. 6 island ach_rx island ach_rx lost clock. 5 island ofp_tx island ofp_tx lost clock. 4 island ofp_rx island ofp_rx lost clock. 3-0 reserved reserved.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 517 of 706 3.23.3.6 clock monitor test period register (cmongp1) divider ratio to derive the clock monitor test period from the gppclk clock. clock monitoring is disabled if equal x ? 0000 0000 ? (default). 3.23.3.7 watchdog timer period register (wdtgp1) divider ratio to derive the interface timeout period from the gppclk clock. this register is reset to x ? 0000 00ff ? whenever a timeout occurs; it has to be reconfigured by a gpp write access. length 8 bits type read/write framer address c48 power on reset value x ? 00 ? cmongp1 76543210 bit(s) name description 7-0 cmongp1(7-0) number of gppclk cycles/test period. length 8 bits type read/write framer address c49 power on reset value x ? ff ? wdtgp1 76543210 bit(s) name description 7-0 wdtgp1(7-0) number of gppclk clock cycles per timeout period.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 518 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.3.8 gppint local configuration registers (confgp1) the bits of this local configuration register control the resetting of complete registers upon read access ( ? clear register ? option). for each bit position: 0 = no action upon read access. 1 = the corresponding register is reset upon read access (default). length 8 bits type read/write framer address c4a power on reset value x ? ff ? reservd clkstat1 & clkstat2 hshake1 & hshake2 simstat reserved 76543210 bit(s) name description 7-4 reserved reserved. 3 clkstat1 & clkstat2 clear-bit for registers clkstat1 & clkstat2. 2 hshake1 & hshake2 clear-bit for registers hshake1 & hshake2. 1 simstat clear-bit for register simstat. 0 reserved reserved.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 519 of 706 3.23.3.9 vital macro data register (vpd) this read-only register displays the macro identification. length 8 bits type read only framer address c50 power on reset value x ? 01 ? macro type version number 76543210 bit(s) name description 7-5 macro type macro type (000). 4-0 version number version number.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 520 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.3.10 static configuration register (gatmcs) this register shows common static configuration data, providing control signals that are distributed to multiple chiplets. it is set once by the gpp before the individual chiplets get enabled and does not change during nor- mal operation. length 8 bits type read/write framer address c58 power on reset value x ? 00 ? reserved gatmcsrx reserved gatmcstx 76543210 bit(s) name description 7-5 reserved reserved. 4gatmcsrx atm cell or cs mode for sdh macro in receive direction: 0 sdh macro in atm mode 1 sdh macro in cs mode 3-1 reserved reserved. 0gatmcstx atm cell or cs mode for sdh macro in transmit direction: 0 sdh macro in atm mode 1 sdh macro in cs mode
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 521 of 706 3.23.3.11 gcasc length 8 bits type read/write framer address c59 power on reset value x ? 88 ? gcascrx gcasctx 76543210 bit(s) name description 7-4 gcascrx(7-4) defines sdh macros in receive direction: 0001 sts3c 1000 stm1 others reserved 3-0 gcasctx(7-4) defines sdh macros in transmit direction: 0001 sts3c 1000 stm1 others reserved
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 522 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.3.12 glooptx transmit loopback control. for each bit position: 0 = ach loopback disabled (default). 1 = ach loopback enabled. length 8 bits type read/write framer address c5a power on reset value x ? 00 ? reserved txlpb2 reserved txlpb1 76543210 bit(s) name description 7-5 reserved reserved. 4 txlpb2 loopback #2 control, tx macro. 3-1 reserved reserved. 0 txlpb1 loopback #1 control, tx macro.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 523 of 706 3.23.3.13 glooprx receive loopback control. for each bit position: 0 = ach loopback disabled (default). 1 = ach loopback enabled. length 8 bits type read/write framer address c5b power on reset value x ? 00 ? reserved rxlpb2 76543210 bit(s) name description 7-1 reserved reserved. 0 rxlpb2 loopback #2 control, rx macro.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 524 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.3.14 gextres external clock recovery circuit reset signal. delivered to external circuit (deserializer) via device pins. the active level depends on the external circuit used. default value at power-on-reset is low. length 8 bits type read/write framer address c5c power on reset value x ? 00 ? reserved rstcrec 76543210 bit(s) name description 7-1 reserved reserved. 0 rstcrec external recovery reset.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 525 of 706 3.23.3.15 ofptxgp this register shows static configuration data, providing control signals for chiplet ofp_tx. it is set once by the gpp before the individual chiplets are enabled and does not change during normal operation. length 8 bits type read/write framer address c68 power on reset value x ? 00 ? reserved ptrproc reserved cdhc1tx 76543210 bit(s) name description 7-5 reserved reserved. 4ptrproc 0 = au pointer processing disabled in atm mode. 1 = au pointer processing enabled in atm mode. 3-1 reserved reserved. 0 sdhc1tx 0 = c1 byte replaced by section trace j1 byte (itu-t standard) 1 = old numbering scheme is used. ofprxgp1 & 2: static configuration data, providing control signals for chiplets ofp_rx. set once by the gpp before the individual chiplets are enabled and not changing during normal operation.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 526 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.3.16 ofprxgp1 3.23.3.17 ofprxgp2 length 8 bits type read/write framer address c69 power on reset value x ? 00 ? reserved sdhc1rx 76543210 bit(s) name description 7-1 reserved reserved. 0 sdhc1rx 0 = the new (itu-t standard) numbering scheme is used. 1 = old numbering scheme is used. length 8 bits type read/write framer address c6a power on reset value x ? 00 ? reserved a2frm 76543210 bit(s) name description 7-2 reserved reserved. 1-0 a2frm ofp_rx rxsofrm assertion controls: 00 rxsofrm asserted during 3rd a2 byte 01 rxsofrm asserted during 1st a2 byte 10 rxsofrm asserted during 2nd a2 byte 11 rxsofrm asserted during 3rd a2 byte
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 527 of 706 3.23.3.18 pimrconf2 this register shows static configuration data, providing control signals for chiplets pim_tx/pim_rx. it is set once by the gpp before the individual chiplets are enabled and does not change during normal operation. 3.23.3.19 simstat status register, providing the gpp with information from the sim chiplet via pim. either sim-internal or exter- nal pll lock status. ? clear-register ? option set in confgp1(1). length 8 bits type read/write framer address c73 power on reset value x ? 00 ? reserved algo1 76543210 bit(s) name description 7-2 reserved reserved. 1-0 algo1(7-6) selects frame pattern recognition algorithm: 00 all bits checked; maximum four bad frames 01 12 bits checked; only maximum four bad frames 10 all bits checked; maximum five bad frames 11 12 bits checked only; maximum five bad frames length 8 bits type read only framer address c7f power on reset value n/a reserved rx_lock 76543210 bit(s) name description 7-1 reserved reserved. 0 rx_lock 0 rx pll is still in phase acquisition process 1 rx pll is enabled and has locked to the incoming data stream incoming data stream
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 528 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.4 atm cell handler registers: transmit direction table 34: ach_tx gpp handler address mapping base address = x ? 100 ? register group register name description address offset type width initial value counter rofmid read-on-the-fly register x ? 0 ? f 8 ? 00000000 ? rofhi read-on-the-fly register (msbyte) x ? 1 ? f 8 ? 00000000 ? cnten1 count enable register x ? 2 ? x 3 ? 000 ? acbc cell counter (read from external fifo), no threshold 2 x ? 4/5 ? 2 n 24 x ? 000000 ? iuc idle/unassigned cell counter, no threshold 2 x ? 6/7 ? 2 n 24 x ? 000000 ? acbe corrupted cell error counter 2 x ? 8/9 ? 2 n 8 ? 00000000 ? acbeth11 threshold register for counter acbe x ? a ? x 8 ? 10000000 ? reset reset default reset register x ? 30 ? r 2 ? 01 ? status stat1 status register #1 x ? 33 ? s 8 iucstat1 status register #2 x ? 34 ? s 2 interrupt request and mask mainirq main interrupt register x ? 38 ? i 2 m_mainirq int mask register (for mainirq) x ? 39 ? x 2 ? 00 ? cntrirq1 counter interrupt register x ? 3a ? i 4 m_cntrirq1 int mask register (for cntrirq1) x ? 3b ? x 4 ? 0000 ? configuration celltenable chiplet configuration register x ? 48 ? c 6 ? 001111 ? acbtxthrpae programmable almost empty threshold x ? 49 ? c 7 ? 0001110 ? headerbyte1 iu-cell header byte 1 1 x ? 4a ? c 8 ? 00000000 ? headerbyte2 iu-cell header byte 2 1 x ? 4b ? c 8 ? 00000000 ? headerbyte3 iu-cell header byte 3 1 x ? 4c ? c 8 ? 00000000 ? headerbyte4 iu-cell header byte 4 1 x ? 4d ? c 8 ? 00000001 ? headerbyte5 iu-cell header byte 5 1 x ? 4e ? c 8 ? 01010010 ? payloadbyte iu-cell payload byte x ? 4f ? c 8 ? 01101010 ? hecenctrl hec processing control x ? 50 ? c 7 ? 0001100 ? hecoffset hec offset pattern register x ? 51 ? c 8 ? 01010101 ? hecmaskand hec error corruption mask (and) x ? 52 ? c 8 ? 11111111 ? hecmaskor hec error corruption mask (or) x ? 53 ? c 8 ? 00000000 ? sdbtxthrpaf programmable almost full threshold x ? 54 ? c 6 ? 110000 ? 1. defaults according itu i.432 2. independent of the counter width, given that a counter has chiplet address n as a base. reading address n or address n-1 both yield the least significant byte of the counter. reading address n has no affect on the counter, but reading address n-1 resets the counter after read operation.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 529 of 706 3.23.4.1 rofmid read-on-the-fly register, middle significant byte. 3.23.4.2 rofhi read-on-the-fly register, most significant byte. length 8 bits type read only framer address 100 power on reset value x ? 00 ? rofmid 76543210 bit(s) name description 7-0 rofmid(7-0) read-on-the-fly register, middle significant byte. length 8 bits type read only framer address 101 power on reset value x ? 00 ? rofhi 76543210 bit(s) name description 7-0 rofhi(7-0) read-on-the-fly register, most significant byte.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 530 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.4.3 acbc number of cells read from external fifo (24-bit counter). overflow leads to an interrupt request. 3.23.4.4 iuc number of transmitted idle and unassigned cells (24-bit counter). overflow leads to an interrupt request. length 8 bits type read only framer address 104/105 power on reset value x ? 00 ? acbc(16-23) 76543210 bit(s) name description 7-0 acbc(16-23) external fifo cell counter, least significant byte. length 8 bits type read only framer address 106/107 power on reset value x ? 00 ? iuc(16-23) 76543210 bit(s) name description 7-0 iuc(16-23) idle/unassigned cell counter, least significant byte.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 531 of 706 3.23.4.5 acbe number of errors (corrupted cell read from external fifo). eight-bit counter overflow leads to an interrupt request. 3.23.4.6 acbeth11 threshold for number of errors. threshold overstep leads to an interrupt request. length 8 bits type read only framer address 108/109 power on reset value x ? 00 ? acbe 76543210 bit(s) name description 7-0 acbe(7-0) external fifo error counter. length 8 bits type read/write framer address 10a power on reset value x ? 80 ? acbeth11 76543210 bit(s) name description 7-0 acbeth11(7-0) threshold for error counter.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 532 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.4.7 cnten1 counter on/off control register for ach_tx. for each bit position: 0 = counter is disabled. 1 = counter is enabled. length 8 bits type read/write framer address 102 power on reset value x ? 00 ? reserved en-acbe en-icu en-acbc 76543210 bit(s) name description 7-3 reserved reserved. 2 en-acbe error counter enable. 1 en-iuc idle/unassigned cell counter enable. 0 en-acbc cell counter enable.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 533 of 706 3.23.4.8 reset register (reset) reset/halt chiplet control register. this register is automatically preset to the default value by the reset signal resht from the gppint. for each bit position: 0 = reset/halt not active. 1 = reset/halt active. length 8 bits type read/write framer address 130 power on reset value x ? 01 ? reserved halt ach_tx reset ach_tx 76543210 bit(s) name description 7-2 reserved reserved. 1 halt ach_tx halt (freeze) ach_tx chiplet. 0 reset ach_tx reset (disable) ach_tx chiplet.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 534 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.4.9 stat1 status register 1 of this chiplet. this is an event latch register. length 8 bits type read/write framer address 133 power on reset value rxlpb2fe txlpb2fe txlpb1fe cellgenstatus sdbtxpaf sdbtxff acbtxpae acbtxef 76543210 bit(s) name description 7 rxlpb2fe rx loopback #2 configuration mismatch. 6 txlpb2fe tx loopback #2 configuration mismatch. 5 txlpb1fe tx loopback #1 configuration mismatch. 4 cellgenstatus 0 idle/unassigned cell is transmitted. 1 cell from external fifo is transmitted. 3 sdbtxpaf programmable almost full flag from sdb_tx. 2 sdbtxff fifo full flag from sdb_tx. 1 acbtxpae programmable almost empty flag from external transmit fifo. 0 acbtxef fifo empty flag from external transmit fifo.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 535 of 706 3.23.4.10 iucstat1 status register 2 of this chiplet. this is an event latch register. 3.23.4.11 mainirq this register is used to indicate fatal interrupt events and point to user irq registers with active requests. for each bit position; 0 = no interrupt request pending. 1 = interrupt request pending. length 8 bits type read/write framer address 134 power on reset value reserved iucferr 76543210 bit(s) name description 7-1 reserved reserved. 0 iucferr unexpected state transition in fsm. length 8 bits type read/write framer address 138 power on reset value reserved cntrirq1 fatal 76543210 bit(s) name description 7-2 reserved reserved. 1 cntrirq1 active request in cntrirq1 register. 0 fatal fatal event occurred.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 536 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.4.12 m_mainirq this register is used to mask pending interrupt requests. a masked request will not generate an outgoing irq to the gppint. for each bit position: 0 = the corresponding pending request bit is masked (default). 1 = the corresponding pending request bit activates signal irqht1 to gppint. length 8 bits type read/write framer address 139 power on reset value x ? 00 ? reserved cntrirq1 fatal 76543210 bit(s) name description 7-2 reserved reserved. 1 cntrirq1 active request in cntrirq1 register. 0 fatal fatal event occurred.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 537 of 706 3.23.4.13 cntrirq1 this register is used to indicate active counter interrupt requests of this chiplet. for each bit position: 0 = no interrupt request pending. 1 = interrupt request pending. length 8 bits type read/write framer address 13a power on reset value reserved th-acbe ov-acbe ov-iuc ov-acbc 76543210 bit(s) name description 7-4 reserved reserved. 3 th-acbe threshold overstep error counter. 2 ov-acbe overflow error counter. 1 ov-iuc overflow idle/unassigned cell counter. 0 ov-acbc overflow cell counter.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 538 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.4.14 m_cntrirq1 this register is used to mask pending counter interrupt requests. for each bit position: 0 = the corresponding pending request bit is masked (default). 1 = the corresponding pending request bit activates the pointer bit in mainirq register. length 8 bits type read/write framer address 13b power on reset value x ? 00 ? reserved th-acbe ov-acbe ov-iuc ov-acbc 76543210 bit(s) name description 7-4 reserved reserved. 3 th-acbe threshold overstep error counter. 2 ov-acbe overflow error counter. 1 ov-iuc overflow idle/unassigned cell counter. 0 ov-acbc overflow cell counter.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 539 of 706 3.23.4.15 celltenable this register is used to control various modes of operation of this chiplet. length 8 bits type read/write framer address 148 power on reset value x ? 0f ? reserved txlpb1only txlpb2only iucenable acbenable autrst_sta autrst_int 76543210 bit(s) name description 7-6 reserved reserved. 5 txlpb1only 0 on-the-fly monitoring (lpb #1) 1 loopback #1 only 4 txlpb2only 0 on-the-fly monitoring (lpb #2) 1 loopback #2 only 3 iucenable 0 generation of iuc disabled 1 generation of iuc enabled 2 acbenable 0 external fifo read disabled 1 external fifo read enabled 1autrst_sta 0 no action on read access 1 auto-reset status registers upon read access 0 autrst_int 0 no action on read access 1 auto-reset interrupt request registers upon read access
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 540 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.4.16 acbtxthrpae threshold for programmable almost empty flag of external fifo in transmit direction. 3.23.4.17 sdbtxthrpaf threshold for programmable almost full flag (sdb_tx). length 8 bits type read/write framer address 149 power on reset value x ? 0e ? reserved acbtxthrpae 76543210 bit(s) name description 7 reserved reserved. 6-0 acbtxthrpae(7-1) threshold for pae flag. length 8 bits type read/write framer address 154 power on reset value x ? 30 ? reserved sdbtxthrpaf 76543210 bit(s) name description 7 reserved reserved. 5-0 sdbtxthrpaf(7-2) threshold for paf flag.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 541 of 706 3.23.4.18 headerbyte1 idle/unassigned cell header byte 1. default pattern according to itu i.432. 3.23.4.19 headerbyte2 idle/unassigned cell header byte 2. default pattern according to itu i.432. length 8 bits type read/write framer address 14a power on reset value x ? 00 ? headerbyte1 76543210 bit(s) name description 7-0 headerbyte1(7-0) iu-cell header byte #1. length 8 bits type read/write framer address 14b power on reset value x ? 00 ? headerbyte2 76543210 bit(s) name description 7-0 headerbyte2(7-0) iu-cell header byte #2.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 542 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.4.20 headerbyte3 idle/unassigned cell header byte 3. default pattern according to itu i.432. 3.23.4.21 headerbyte4 idle/unassigned cell header byte 4. default pattern according to itu i.432. length 8 bits type read/write framer address 14c power on reset value x ? 00 ? headerbyte3 76543210 bit(s) name description 7-0 headerbyte3(7-0) iu-cell header byte #3. length 8 bits type read/write framer address 14d power on reset value x ? 01 ? headerbyte4 76543210 bit(s) name description 7-0 headerbyte4(7-0) iu-cell header byte #4.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 543 of 706 3.23.4.22 headerbyte5 idle/unassigned cell header byte 5. default pattern according to itu i.432. 3.23.4.23 payloadbyte idle/unassigned cell payload byte. length 8 bits type read/write framer address 14e power on reset value x ? 52 ? headerbyte5 76543210 bit(s) name description 7-0 headerbyte5(7-0) iu-cell header byte #5. length 8 bits type read/write framer address 14f power on reset value x ? 6a ? payloadbyte 76543210 bit(s) name description 7-0 payloadbyte(7-0) iu-cell payload byte.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 544 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.4.24 hecenctrl hec processing control configuration register. length 8 bits type read/write framer address 150 power on reset value x ? 0c ? reserved payload byte control screnable hecenable heccntludf2 76543210 bit(s) name description 7 reserved reserved. 6-4 payload byte control 000 each payload byte is the same (default) 001 increment payload byte for each atm cell, start with default after reset 010 increment each payload byte of a cell; start each cell with default byte 011 increment each pl byte of a cell; cross cell boundaries; start first cell after reset with default byte 1xx each payload byte is the same 3 screnable 0 atm cell payload scrambling disabled 1 atm cell payload scrambling enabled 2 hecenable 0 hec calculation/manipulation disabled 1 hec calculation/manipulation enabled 1-0 heccntludf2 mode of final hec manipulation by udf1 byte after hecoffset, hecmaskand, hec- maskor operations: 00 no manipulation 01 hec xor udf1 10 hec and udf1 11 hec or udf1
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 545 of 706 3.23.4.25 hecoffset hec offset pattern register for the byte pattern used in the atm cell header hec calculation as base offset according to itu i.432. 3.23.4.26 hecmaskand hec mask pattern register for the byte pattern used in the atm cell header hec calculation as dedicated (anding) hec error corruption mask. length 8 bits type read/write framer address 151 power on reset value x ? 55 ? hecoffset 76543210 bit(s) name description 7-0 hecoffset(7-0) hec offset pattern. length 8 bits type read/write framer address 152 power on reset value x ? ff ? hecmaskand 76543210 bit(s) name description 7-0 hecmaskand(7-0) hec error corruption mask (and).
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 546 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.4.27 hecmaskor hec mask pattern register for the byte pattern used in the atm cell header hec calculation as dedicated (oring) hec error corruption mask. length 8 bits type read/write framer address 153 power on reset value x ? 00 ? hecmaskor 76543210 bit(s) name description 7-0 hecmaskor(7-0) hec error corruption mask (or).
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 547 of 706 3.23.5 atm cell handler registers: receive direction table 35: ach_rx gpp handler address mapping base address = x ? 200 ? register group register name description address offset type width initial value counter rofmid read-on-the-fly register x ? 0 ? f 8 ? 00000000 ? rofhi read-on-the-fly register (msbyte) x ? 1 ? f 8 ? 00000000 ? cnten1 count enable register x ? 2 ? x 4 ? 0000 ? fhr counter, atm cells written into exter- nal fifo, no threshold x ? 4/5 ? 1 n 24 x ? 000000 ? ihr counter, received idle cells from ofp, no threshold x ? 6/7 ? 1 n 24 x ? 000000 ? ehr1 counter, detected hec errors with threshold x ? 8/9 ? 1 n 16 x ? 0000 ? ehr1th12 threshold reg byte2 (lsbyte) for counter ehr1 x ? a ? x 8 ? 00000001 ? ehr1th11 threshold reg byte1 for counter ehr1 x ? b ? x 8 ? 10000000 ? bhr counter, fifo full discarded cells: (discpaf1=1) and (txlpb11=0) with threshold. 1 x ? c/d ? 1 n 16 x ? 0000 ? bhrth12 threshold reg byte2 (lsbyte) for counter bhr x ? e ? x 8 ? 00000001 ? bhrth11 threshold register byte1 for counter bhr x ? f ? x 8 ? 10000000 ? reset reset default reset register x ? 30 ? r 2 ? 01 ? command cmd1 command register (fifo reset) x ? 31 ? o 2 ? 00 ? status stat2 status register x ? 34 ? s 6 interrupt mainirq main interrupt register x ? 38 ? i 2 m_mainirq interrupt mask register (for mainirq) x ? 39 ? x 2 ? 00 ? cntrirq1 counter interrupt register x ? 3a ? i 6 m_cntrirq1 interrupt mask register (for cntrirq1) x ? 3b ? x 6 ? 000000 ? configuration conf5 chiplet configuration register x ? 48 ? c 8 ? 00000011 ? conf6 chiplet configuration register (alpha/ delta) x ? 49 ? c 8 ? 01100101 ? h1conf confirmation bytes to identify idle or unassigned cells. x ? 4b ? c 8 ? 00000000 ? h2conf confirmation bytes to identify idle or unassigned cells. x ? 4c ? c 8 ? 00000000 ? h3conf confirmation bytes to identify idle or unassigned cells. x ? 4d ? c 8 x ? 0000 0000 ? h4conf confirmation bytes to identify idle or unassigned cells. x ? 4e ? c 8 ? 00000001 ? h5conf dummy byte to align payload in exter- nal fifo x ? 50 ? c 8 ? 11010000 ? confc external fifo buffer almost full threshold x ? 51 ? c 7 ? 1100000 ? 1. independent of the counter width, given that a counter has chiplet address n as a base. reading address n or address n-1 both yield the least significant byte of the counter. reading address n has no affect on the counter, but reading address n-1 resets the counter after read operation.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 548 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.5.1 rofmid read-on-the-fly registers, middle significant byte. 3.23.5.2 rofhi read-on-the-fly registers, most significant byte. length 8 bits type read only framer address 200 power on reset value x ? 00 ? rofmid 76543210 bit(s) name description 7-0 rofmid(7-0) read-on-the-fly register, middle significant byte. length 8 bits type read only framer address 201 power on reset value x ? 00 ? rofhi 76543210 bit(s) name description 7-0 rofhi(7-0) read-on-the-fly register, most significant byte.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 549 of 706 3.23.5.3 fhr number of atm cells written into external fifo (24-bit counter). overflow leads to an interrupt request. 3.23.5.4 ihr number of idle cells received from ofp_rx (24-bit counter). overflow leads to an interrupt request. length 8 bits type read only framer address 204/205 power on reset value x ? 00 ? fhr (16-23) 76543210 bit(s) name description 7-0 fhr(16-23) atm cell counter, least significant byte. length 8 bits type read only framer address 206/207 power on reset value x ? 00 ? ihr (16-23) 76543210 bit(s) name description 7-0 ihr(16-23) idle/unassigned cell counter, least significant byte.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 550 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.5.5 ehr1 number of detected hec errors (16-bit counter). overflow leads to an interrupt request. 3.23.5.6 ehr1th11 threshold for number of hec cells, most significant byte. length 8 bits type read only framer address 208/209 power on reset value x ? 00 ? ehr1 (8-15) 76543210 bit(s) name description 7-0 ehr1(8-15) hec error counter, least significant byte. length 8 bits type read/write framer address 20b power on reset value x ? 80 ? ehr1th11 76543210 bit(s) name description 7-0 ehr1th11(7-0) threshold for hec error counter, most significant byte.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 551 of 706 3.23.5.7 eht1th12 threshold for number of hec errors (least significant byte). threshold overstep leads to an interrupt request. 3.23.5.8 bhr number of discarded cells because of fifo full condition (16 bit counter). overflow leads to an interrupt request. length 8 bits type read/write framer address 207 power on reset value x ? 01 ? ehr1th12 76543210 bit(s) name description 7-0 ehr1th12(7-0) threshold for hec error counter, least significant byte. length 8 bits type read only framer address 20c/20d power on reset value x ? 00 ? bhr (8-15) 76543210 bit(s) name description 7-0 bhr(8-15) discarded cell counter, least significant byte.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 552 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.5.9 bhrth11 threshold for number of discarded cells, most significant byte. 3.23.5.10 bhrth12 threshold for number of discarded cells (least significant byte). threshold overstep leads to an interrupt request. length 8 bits type read/write framer address 20f power on reset value x ? 80 ? bhrth11 76543210 bit(s) name description 7-0 bhrth11(7-0) threshold for discarded cell counter, most significant byte. length 8 bits type read/write framer address 20e power on reset value x ? 01 ? bhrth12 76543210 bit(s) name description 7-0 bhrth12(7-0) threshold for discarded cell counter, least significant byte.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 553 of 706 3.23.5.11 cnten1 counter on/off control register for ach_rx. for each bit position: 0 = counter is disabled. 1 = counter is enabled. length 8 bits type read/write framer address 202 power on reset value x ? 00 ? reserved en-bhr en-ehr1 en-ihr en-fhr 76543210 bit(s) name description 7-4 reserved reserved. 3 en-bhr discarded cell counter enable. 2 en-ehr1 hec error counter enable. 1 en-ihr idle cell counter enable. 0 en-fhr atm cell counter enable.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 554 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.5.12 reset register (reset) reset/halt chiplet control register. this register is preset automatically to the default value by the reset signal reshr from the gppint. for each bit position: 0 = reset/halt not active. 1 = reset/halt active. length 8 bits type read/write framer address 230 power on reset value x ? 01 ? reserved halt ach_rx reset ach_rx 76543210 bit(s) name description 7-2 reserved reserved. 1 halt ach_rx halt (freeze) ach_rx chiplet. 0 reset ach_rx reset (disable) ach_rx chiplet.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 555 of 706 3.23.5.13 command register (cmd1) command register for this chiplet. single-cycle active if ? 1 ? is written into bit position. 3.23.5.14 status register (stat2) status register of this chiplet. this is an event latch register. length 8 bits type read/write framer address 231 power on reset value x ? 00 ? reserved acbfifo sdbfifo 76543210 bit(s) name description 7-2 reserved reserved. 1 acbfifo reset external fifo. 0 sdbfifo reset sdb_rx fifo. length 8 bits type read/write framer address 234 power on reset value - reserved celldelo rdflagef wrflagpaf wrflagff 76543210 bit(s) name description 7-6 reserved reserved. 5-3 celldelo state of the cell delineation process: 000 reset state 001 hunt state 010 presync state 100 sync state
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 556 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.5.15 mainirq this register is used to indicate fatal interrupt events and point to user irq registers with active requests. for each bit position: 0 = no interrupt request pending. 1 = interrupt request pending. 2 rdflagef sdb fifo: read fifo empty flag. 1 wrflagpaf external fifo: write fifo programmable almost full flag. 0 wrflagff external fifo: write fifo full flag. length 8 bits type read/write framer address 238 power on reset value reserved cntrirq1 fatal 76543210 bit(s) name description 7-2 reserved reserved. 1 cntrirq1 active request in cntrirq1 register. 0 fatal fatal event occurred. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 557 of 706 3.23.5.16 m_mainirq this register is used to mask pending interrupt requests. a masked request will not generate an outgoing irq to the gppint. for each bit position: 0 = the corresponding pending request bit is masked (default). 1 = the corresponding pending request bit activates signal irqhr1 to gppint. length 8 bits type read/write framer address 239 power on reset value x ? 00 ? reserved cntrirq1 fatal 76543210 bit(s) name description 7-2 reserved reserved. 1 cntrirq1 active request in cntrirq1 register. 0 fatal fatal event occurred.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 558 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.5.17 cntrirq1 this register is used to indicate active counter interrupt requests of this chiplet. for each bit position: 0 = no interrupt request pending. 1 = interrupt request pending. length 8 bits type read/write framer address 240 power on reset value reserved th-bhr ov-bhr th-ehr1 ov-ehr1 ov-ihr ov-fhr 76543210 bit(s) name description 7-6 reserved reserved. 5 th-bhr threshold overstep discarded cell counter. 4 ov-bhr overflow discarded cell counter. 3 th-ehr1 threshold overstep hec error counter. 2 ov-ehr1 overflow hec error counter. 1 ov-ihr overflow idle cell counter. 0 ov-fhr overflow atm cell counter.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 559 of 706 3.23.5.18 m_cntrirq1 this register is used to mask pending counter interrupt requests. for each bit position: 0 = the corresponding pending request bit is masked (default). 1 = the corresponding pending request bit activates the pointer bit in mainirq register. length 8 bits type read/write framer address 241 power on reset value x ? 00 ? reserved th-bhr ov-bhr th-ehr1 ov-ehr1 ov-ihr ov-fhr 76543210 bit(s) name description 7-6 reserved reserved. 5 th-bhr threshold overstep discarded cell counter. 4 ov-bhr overflow discarded cell counter. 3 th-ehr1 threshold overstep hec error counter. 2 ov-ehr1 overflow hec error counter. 1 ov-ihr overflow idle cell counter. 0 ov-fhr overflow atm cell counter.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 560 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.5.19 conf5 this register is used to control various modes of operation of this chiplet. length 8 bits type read/write framer address 248 power on reset value x ? 03 ? detstrtoc nwrtofifo notdethecer wrtchece ndescramb wridlec autrst_sta autrst_int 76543210 bit(s) name description 7detstrtoc 0 do not detect start of cell. 1 detect start of cell. 6 nwrtofifo 0 write into acb fifo. 1 do not write into acb fifo; all received cells are discarded. 5notdethecer 0 detect atm cell with hec errors. 1 do not detect atm cell with hec errors. 4 wrtchece 0 do not write atm cell with hec errors. 1 write atm cell with hec errors. 3 ndescramb 0 descramble atm cell payload. 1 do not descramble atm cell payload. 2 wridlec 0 do not write idle cell into external fifo. 1 write idle cell into acb fifo. 1autrst_sta 0 no action on read access. 1 auto-reset status register upon read access. 0 autrst_int 0 no action on read access. 1 auto-reset interrupt request registers upon read access.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 561 of 706 3.23.5.20 conf6 this register is used to control atm cell synchronization in this chiplet. 3.23.5.21 confc threshold for programmable almost full flag of the external fifo. length 8 bits type read/write framer address 249 power on reset value x ? 65 ? alpha delta 76543210 bit(s) name description 7-4 alpha(7-4) required number of consecutive false hec detected to return from sync to hunt state. 3-0 delta(7-4) required number of consecutive good hec detected to jump from presync to sync state. length 8 bits type read/write framer address 251 power on reset value x ? 60 ? reserved confc (7-1) 76543210 bit(s) name description 7 reserved reserved. 6-0 confc(7-1) threshold for paf flag headerbyte1/2/3/4/5: idle/unassigned cell header bytes, default pattern according to itu i.432.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 562 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.5.22 h1conf header pattern #1 to identify idle/unassigned cells. 3.23.5.23 h2conf header pattern #2 to identify idle/unassigned cells. length 8 bits type read/write framer address 24b power on reset value x ? 00 ? h1conf 76543210 bit(s) name description 7-0 h1conf(7-0) header byte #1. length 8 bits type read/write framer address 24c power on reset value x ? 00 ? h2conf 76543210 bit(s) name description 7-0 h2conf(7-0) header byte #2.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 563 of 706 3.23.5.24 h3conf header pattern #3 to identify idle/unassigned cells. 3.23.5.25 h4conf header pattern #4 to identify idle/unassigned cells. length 8 bits type read/write framer address 24d power on reset value x ? 00 ? h3conf 76543210 bit(s) name description 7-0 h3conf(7-0) header byte #3. length 8 bits type read/write framer address 24e power on reset value x ? 01 ? h4conf 76543210 bit(s) name description 7-0 h4conf(7-0) header byte #4.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 564 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.5.26 h5conf dummy byte to align the payload in the acb_rx buffer. length 8 bits type read/write framer address 250 power on reset value x ? d0 ? h5conf 76543210 bit(s) name description 7-0 h5conf(7-0) payload alignment byte.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 565 of 706 3.23.6 overhead frame processor architecture: transmit direction table 36: ofp_tx gpp handler address mapping base address = x ? 400 ? (page 1 of 3) register group register name description address offset type width initial value counter cnten1 count enable register x ? 2 ? x 4 ? 0000 ? ptrinc pointer increment event counter, no threshold 1 x ? 4/5 ? 1 n 8 ? 00000000 ? ptrdec pointer decrement event counter, no threshold 1 x ? 6/7 ? 1 n 8 ? 00000000f ? nd_evcnt new data event counter, no threshold 1 x ? 8/9 ? 1 n 8 ? 00000000 ? juscnt justification error counter with no threshold 1 x ? a/b ? 1 n 8 ? 00000000 ? juscntth11 threshold register for counter juscnt x ? c ? x 8 ? 10000000 ? reset reset default reset register x ? 30 ? r 2 ? 01 ? command cmd1 njus, pjus, ndf x ? 31 ? o 3 ? 000 ? status stat1 init, hug, mode(7-5) x ? 33 ? s 6 stat2 njus, pjus, ndf x ? 34 ? s 3 interrupt and mask mainirq main interrupt register x ? 38 ? i 3 m_mainirq interrupt mask register (for mainirq) x ? 39 ? x 3 ? 000 ? cntrirq1 counter interrupt register x ? 3a ? i 5 m_cntrirq1 interrupt mask register (for cntrirq1) x ? 3b ? x 5 ? 00000 ? irq3 user interrupt register x ? 3c ? i 6 m_irq3 interrupt mask register (for irq3) x ? 3d ? x 6 ? 000000 ? configuration conf1 configuration register #1 (general a) x ? 48 ? c 8 ? 00000011 ? conf2 configuration register #2 (general b) x ? 49 ? c 3 ? 000 ? conf3 configuration register #3 (fscr reload pattern) x ? 4a ? c 8 ? 11111110 ? conf4 configuration register #4 (errmask) x ? 4b ? c 8 ? 00000000 ? conf5 configuration register #5 (erraddress) x ? 4c ? c 8 ? 00000000 ? conf6 configuration register #6 (fscr control) x ? 4d ? c 8 ? 00000001 ? conf7 configuration register #7 (dcc control) x ? 4e ? c 4 ? 0000 ? conf8 configuration register #8 (thrlow) x ? 4f ? c 6 ? 000011 ? conf9 configuration register #9 (thrnow) x ? 50 ? c 6 ? 010001 ? conf10 configuration register #10 (thrhiw) x ? 51 ? c 6 ? 100000 ? debug soh-a11 first a1 x ? 100 ? 8 soh-a12 second1 a1 x ? 101 ? 8 soh-a13 third a1 x ? 102 ? 8 soh-a21 first a2 x ? 103 ? 8 soh-a22 second a2 x ? 104 ? 8 soh-a23 third a2 x ? 105 ? 8 soh-j0 j0 x ? 106 ? 8 1. independent of the counter width, given that a counter has chiplet address n as a base. reading address n or address n-1 both yield the least significant byte of the counter. reading address n has no affect on the counter, but reading address n-1 resets the counter after read operation. 2. address range 100-17f located in 128x8 gra. address range 180-1bf located in 64x8 gra. 3. the 64-byte j1 path trace processing uses the 16-byte addresses of 16 byte j1 path trace to map a full 64 byte space.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 566 of 706 pnr261_24framr.fm.06 august 14, 2000 debug reserved for national use and not included in frame scrambling x ? 107-8 ? 8 soh-b1 b1 x ? 109 ? 8 media dependant bytes x ? 10a-b ? 8 soh-e1 e1 x ? 10c ? 8 media dependant byte x ? 10d ? 8 reserved for future standardization x ? 10e ? 8 soh-f1 f1 x ? 10f ? 8 reserved for national use x ? 110-11 ? 8 soh-d1 d1 x ? 112 ? 8 media dependant bytes x ? 113-14 ? 8 soh-d2 d2 x ? 115 ? 8 media dependant byte x ? 116 ? 8 reserved for future standardization x ? 117 ? 8 soh-d3 d3 x ? 118 ? 8 reserved for future standardization x ? 119-1a ? 8 soh-h1 h1 x ? 11b ? 8 soh-j0 x ? 11c-1d ? 8 ? 1001ss11 ? with s unspecified soh-h2 h2 x ? 11e ? 8 soh-1s x ? ff ? x ? 11f-20 ? 8 soh-h31 first h3 x ? 121 ? 8 soh-h32 second h3 x ? 122 ? 8 soh-h23 third h3 x ? 123 ? 8 soh-b21 first b2 x ? 124 ? 8 soh-b22 second b2 x ? 125 ? 8 soh-b23 third b2 x ? 126 ? 8 soh-k1 k1 x ? 127 ? 8 reserved for future standardization x ? 128-29 ? 8 soh-k2 k2 x ? 12a ? 8 reserved for future standardization x ? 12b-2c ? 8 soh-d4 d4 x ? 12d ? 8 reserved for future standardization x ? 12e-2f ? 8 soh-d5 d5 x ? 130 ? 8 reserved for future standardization x ? 131-32 ? 8 soh-d6 d6 x ? 133 ? 8 reserved for future standardization x ? 134-35 ? 8 soh-d7 d7 x ? 136 ? 8 reserved for future standardization x ? 137-38 ? 8 table 36: ofp_tx gpp handler address mapping base address = x ? 400 ? (page 2 of 3) register group register name description address offset type width initial value 1. independent of the counter width, given that a counter has chiplet address n as a base. reading address n or address n-1 both yield the least significant byte of the counter. reading address n has no affect on the counter, but reading address n-1 resets the counter after read operation. 2. address range 100-17f located in 128x8 gra. address range 180-1bf located in 64x8 gra. 3. the 64-byte j1 path trace processing uses the 16-byte addresses of 16 byte j1 path trace to map a full 64 byte space.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 567 of 706 debug soh-d8 d8 x ? 139 ? 8 reserved for future standardization x ? 13a-3b ? 8 soh-d9 d9 x ? 13c ? 8 reserved for future standardization x ? 13d-3e ? 8 soh-d10 d10 x ? 13f ? 8 reserved for future standardization x ? 140-41 ? 8 soh-d11 d11 x ? 142 ? 8 reserved for future standardization x ? 143-44 ? 8 soh-d12 d12 x ? 145 ? 8 reserved for future standardization x ? 146-47 ? 8 soh-s1 s1 x ? 148 ? 8 soh-z11 reserved for future standardization x ? 149-4c ? 8 soh-m1 m1 x ? 14d ? 8 soh-m1 e2 x ? 14e ? 8 reserved for future standardization x ? 14f-50 ? 8 justification stuff bytes x ? 151-53 ? 8 poh-j1 j1 x ? 154 ? 8 poh-b3 b3 x ? 155 ? 8 poh-c2 c2 x ? 156 ? 8 poh-g1 g1 x ? 157 ? 8 poh-f2 f2 x ? 158 ? 8 poh-h4 h4 x ? 159 ? 8 poh-f3 f3 x ? 15a ? 8 poh-k3 k3 x ? 15b ? 8 x ? poh-n1 ? n1 15c 8 reserved x ? 15d-5f ? 8 poh-j0-16 16 byte j0 section trace x ? 160-6f ? 8 reserved x ? 170-7f ? 8 poh-j1-16 16-byte j1 path trace 3 x ? 180-8f ? 8 poh-j1-64 64-byte j1 path trace 3 x ? 190-bf ? 8 table 36: ofp_tx gpp handler address mapping base address = x ? 400 ? (page 3 of 3) register group register name description address offset type width initial value 1. independent of the counter width, given that a counter has chiplet address n as a base. reading address n or address n-1 both yield the least significant byte of the counter. reading address n has no affect on the counter, but reading address n-1 resets the counter after read operation. 2. address range 100-17f located in 128x8 gra. address range 180-1bf located in 64x8 gra. 3. the 64-byte j1 path trace processing uses the 16-byte addresses of 16 byte j1 path trace to map a full 64 byte space.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 568 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.6.1 ptrinc number of pointer increment events (eight-bit counter). overflow leads to an interrupt request. 3.23.6.2 ptrdec number of pointer decrement events (eight-bit counter). overflow leads to an interrupt request. length 8 bits type read only framer address 404/405 power on reset value x ? 00 ? ptrinc 76543210 bit(s) name description 7-0 ptrinc(7-0) pointer increment counter. length 8 bits type read only framer address 406/407 power on reset value x ? 00 ? ptrdec 76543210 bit(s) name description 7-0 ptrdec(7-0) pointer decrement counter.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 569 of 706 3.23.6.3 nd_evcnt number of new data events (eight-bit counter). overflow leads to an interrupt request. 3.23.6.4 juscnt number of justification errors detected (eight-bit counter). overflow leads to an interrupt request. length 8 bits type read only framer address 408/409 power on reset value x ? 00 ? nd_evcnt 76543210 bit(s) name description 7-0 nd_evcnt(7-0) new data event counter. length 8 bits type read only framer address 40a/40b power on reset value x ? 00 ? juscnt 76543210 bit(s) name description 7-0 juscnt(7-0) justification error counter.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 570 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.6.5 juscntth11 threshold for number of justification errors. threshold overstep leads to an interrupt request. 3.23.6.6 cnten1 counter on/off control register for ofp_tx. for each bit position: 0 = counter is disabled. 1 = counter is enabled. length 8 bits type read/write framer address 40c power on reset value x ? 80 ? juscntth11 76543210 bit(s) name description 7-0 juscntth11(7-0) threshold for justification error counter. length 8 bits type read/write framer address 402 power on reset value x ? 00 ? reserved en-juscnt en-nd_evcnt en-ptrdec en-ptrinc 76543210 bit(s) name description 7-4 reserved reserved. 3 en-juscnt justification error counter enable. 2 en-nd_evcnt new data event counter enable. 1 en-ptrdec pointer decrement counter enable. 0 en-ptrinc pointer increment counter enable.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 571 of 706 3.23.6.7 reset register (reset) reset/halt chiplet control register. this register is preset automatically to the default value by the reset signal resot coming from gppint chiplet. for each bit position: 0 = reset/halt not active. 1 = reset/halt active. 3.23.6.8 command register (cmd1) command register for the chiplet. single-cycle active if ? 1 ? is written into bit position. length 8 bits type read/write framer address 430 power on reset value x ? 01 ? reserved halt ofp_tx reset ofp_tx 76543210 bit(s) name description 7-2 reserved reserved. 1 halt ofp_tx halt (freeze) ofp_tx chiplet. 0 reset ofp_tx reset (disable) ofp_tx chiplet. length 8 bits type read/write framer address 431 power on reset value x ? 00 ? reserved ndf pjus njus 76543210 bit(s) name description 7-3 reserved reserved. 2 ndf force a start-of-new-vc-4 event.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 572 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.6.9 stat1 status register #1 of the chiplet. this is an event latch register. 3.23.6.10 stat2 status register #2 of the chiplet. this is an event latch register. 1 pjus perform a positive frequency justification. 0 njus perform a negative frequency justification. length 8 bits type read/write framer address 433 power on reset value x ? 00 ? reserved hug init 76543210 bit(s) name description 7-2 reserved reserved. 1 hug 0 higher order unequipped generator inactive. 1 higher order unequipped generator active. 0init 0 default gra initialization not completed. 1 default gra initialization completed. length 8 bits type read/write framer address 434 power on reset value - reserved ndf pjus njus 76543210 bit(s) name description 7-3 reserved reserved. bit(s) name description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 573 of 706 3.23.6.11 mainirq this register is used to indicate fatal interrupt events and to point to user irq registers with active requests. for each bit position: 0 = no interrupt request pending. 1 = interrupt request pending. 2 ndf 0 no ndf transmitted. 1 ndf transmitted. 1pjus 0 no positive frequency justification transmitted. 1 positive frequency justification transmitted. 0njus 0 no negative frequency justification transmitted. 1 negative frequency justification transmitted. length 8 bits type read/write framer address 438 power on reset value reserved irq3 cntrirq1 fatal 76543210 bit(s) name description 7-3 reserved reserved. 2 irq3 active request in irq3 register. 1 cntrirq1 active request in cntrirq1 register. 0 fatal fatal event occurred. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 574 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.6.12 m_mainirq this register is used to mask pending interrupt requests. a masked request will not generate an outgoing irq to the gppint. for each bit position: 0 = the corresponding pending request bit is masked (default). 1 = the corresponding pending request bit activates signal irqot to gppint. length 8 bits type read/write framer address 439 power on reset value x ? 00 ? reserved irq3 cntrirq1 fatal 76543210 bit(s) name description 7-3 reserved reserved. 2 irq3 active request in irq3 register. 1 cntrirq1 active request in cntrirq1 register. 0 fatal fatal event occurred.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 575 of 706 3.23.6.13 cntrirq1 this register is used to indicate active counter interrupt requests of this chiplet. for each bit position: 0 = no interrupt request pending. 1 = interrupt request pending. length 8 bits type read/write framer address 43a power on reset value reserved th-juscnt ov-juscnt ov-nd_evcnt ov-ptrinc ov-ptrdec 76543210 bit(s) name description 7-5 reserved reserved. 4 th-juscnt threshold overstep justification error counter. 3 ov-juscnt overflow justification error counter. 2 ov-nd_evcnt overflow new data event counter. 0 ov-ptrinc overflow pointer increment counter. 1 ov-ptrdec overflow pointer decrement counter.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 576 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.6.14 m_cntrirq1 this register is used to mask pending counter interrupt requests. for each bit position: 0 = the corresponding pending request bit is masked (default). 1 = the corresponding pending request bit activates the pointer bit in mainirq register. length 8 bits type read/write framer address 43b power on reset value x ? 00 ? reserved th-juscnt ov-juscnt ov-nd_evcnt ov-ptrinc ov-ptrdec 76543210 bit(s) name description 7-5 reserved reserved. 4 th-juscnt threshold overstep justification error counter. 3 ov-juscnt overflow justification error counter. 2 ov-nd_evcnt overflow new data event counter. 0 ov-ptrinc overflow pointer increment counter. 1 ov-ptrdec overflow pointer decrement counter.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 577 of 706 3.23.6.15 irq3 this register is used to indicate active user interrupt requests of this chiplet. for each bit position: 0 = no interrupt request pending. 1 = interrupt request pending. length 8 bits type read/write framer address 43c power on reset value reserved dloss flow fhigh frmerr spcir txlpow 76543210 bit(s) name description 7-6 reserved reserved. 5 dloss data loss = data fifo empty. 4 flow fifo low threshold overflow. 3 fhigh fifo high threshold overflow. 2 frmerr framing error detected. 1 spcir spc fsm interrupt request. 0 txlpow low power indication from optical/electrical module.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 578 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.6.16 m_irq3 this register is used to mask pending user interrupt requests. for each bit position: 0 = the corresponding pending request bit is masked (default). 1 = the corresponding pending request bit activates the pointer bit in mainirq register. length 8 bits type read/write framer address 43d power on reset value x ? 00 ? reserved dloss flow fhigh frmerr spcir txlpow 76543210 bit(s) name description 7-6 reserved reserved. 5 dloss data loss = data fifo empty. 4 flow fifo low threshold overflow. 3 fhigh fifo high threshold overflow. 2 frmerr framing error detected. 1 spcir spc fsm interrupt request. 0 txlpow low power indication from optical/electrical module.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 579 of 706 3.23.6.17 conf1 configuration register #1. general ofp_tx configuration signals a. length 8 bits type read/write framer address 448 power on reset value x ? 03 ? spci j1mode jusfrm autrst_sta autrst_int 76543210 bit(s) name description 7-4 spci(7-4) specifies stm-n row number in which an interrupt request will be issued. 3j1mode 0 transmit 16-byte j1 path trace. 1 transmit 64-byte j1 path trace. 2jusfrm 0 allow pointer modification to be performed on frame-to-frame basis. 1 enforces three frames being interleaved between two pointer modification operations. 1autrst_sta 0 no action on read access. 1 auto-reset status register upon read access. 0 autrst_int 0 no action on read access. 1 auto-reset interrupt request registers upon read access.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 580 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.6.18 conf2 configuration register #2. general ofp_tx configuration signals b. 3.23.6.19 conf3 configuration register #3. length 8 bits type read/write framer address 449 power on reset value x ? 00 ? reserved txsdown hug msais 76543210 bit(s) name description 7-3 reserved reserved. 2 txsdown directly connected to output pin: 0 optical/electrical normal operation 1 transmit shutdown for optical/electrical module 1 hug 0 no unequipped stm-n signal 1 enforce unequipped stm-n signal 0msais 0 no multiplex section ais 1 enforce multiplex section ais length 32 bits type read/write framer address 44a power on reset value x ? fe ? not used fscr 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bit(s) name description 31-0 not used not used. 7-0 fscr(7-0) reload pattern for frame scrambler.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 581 of 706 3.23.6.20 conf4 configuration register #4. 3.23.6.21 conf5 configuration register #5. length 8 bits type read/write framer address 44b power on reset value x ? 00 ? errmask 76543210 bit(s) name description 7-0 errmask(7-0) mask register forcing bit error insertion. xored with retrieved soh/poh. length 8 bits type read/write framer address 44c power on reset value x ? 00 ? erraddr 76543210 bit(s) name description 7-0 erraddr(7-0) error mask address register. indicates address of soh/poh byte to be corrupted.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 582 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.6.22 conf6 configuration register #6. frame scrambling control register. 3.23.6.23 conf7 configuration register #7. dcc control register. length 8 bits type read/write framer address 44d power on reset value x ? 01 ? cidnum ciden scren 76543210 bit(s) name description 7-2 cidnum(7-2) number of all - ? 1 ? / ? 0 ? bytes 1ciden cid insertion enable: 0 no cid insertion 1 perform cid insertion 0scren scramble enable: 0no scrambling 1 perform scrambling length 8 bits type read/write framer address 44e power on reset value x ? 00 ? reserved edge mode clkmode opmode enable 76543210 bit(s) name description 7-4 reserved reserved. 3 edgemode 0 active falling edge. 1 active rising edge.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 583 of 706 3.23.6.24 conf8 configuration register #8. low water fifo threshold register. 2clkmode 0 continuous clock. 1 strobed clock. 1 opmode 0 dcc1 channel (d1 - d3). 1 cc2 channel (d4 - d12). 0 enable 0 disable dcc1 processing. 1 enable dcc1 processing. length 8 bits type read/write framer address 44f power on reset value x ? 03 ? reserved thrlow (7-2) 76543210 bit(s) name description 7-6 reserved reserved. 5-0 thrlow(7-2) low water fifo threshold; default value is three. bit(s) name description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 584 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.6.25 conf9 configuration registers #9. normal water fifo threshold register. 3.23.6.26 conf10 configuration registers #10. high water fifo threshold register. length 8 bits type read/write framer address 450 power on reset value x ? 11 ? reserved thrnow (7-2) 76543210 bit(s) name description 7-6 reserved reserved. 5-0 thrnow(7-2) normal water fifo threshold; default value is 17. length 8 bits type read/write framer address 451 power on reset value x ? 20 ? reserved thrhiw (7-2) 76543210 bit(s) name description 7-6 reserved reserved. 5-0 thrhiw(7-2) high water fifo threshold; default value is 32.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 585 of 706 3.23.7 overhead frame processor architecture: receive direction table 37: ofp_rx gpp handler address mapping base address = x ? 800 ? (page 1 of 5) register group register name description address offset type width initial value counter rofmid read-on-the-fly register x ? 0 ? f 8 ? 00000000 ? cnten1 count enable register #1 x ? 2 ? x 8 ? 00000000 ? cnten2 count enable register #2 x ? 3 ? x 3 ? 000 ? b1bitcnt bip-8 b1 bit error counter x ? 4/5 ? 1 n 16 x ? 0000 ? b1bitcntth12 threshold register byte2 (least signifi- cant byte) for b1bitcnt x ? 6 ? x 8 ? 00000000 ? b1bitcntth11 threshold register byte1 for counter b1bitcnt x ? 7 ? x 8 ? 01111101 ? b1blkcnt bip-8 b1 block error counter 1 )x ? 8/9 ? 1 n 16 x ? 0000 ? b1blkcntth12 threshold register byte2 (least signifi- cant byte) for b1blkcnt x ? a ? x 8 ? 00000000 ? b1blkcntth11 threshold register byte1 for counter b1blkcnt x ? b ? x 8 ? 01111101 ? b2bitcnt bip-24 b2 bit error counter, 2 thresholds 1 x ? c/d ? 1 n 16 x ? 0000 ? b2bitcntth12 degradation threshold byte2 (least sig- nificant byte) for b2bitcnt x ? e ? x 8 ? 00100000 ? b2bitcntth11 degradation threshold byte1 for b2bitcnt x ? f ? x 8 ? 01001110 ? b2bitcntth22 failure threshold byte2 (least signifi- cant byte) for b2bitcnt x ? 10 ? x 8 ? 00000000 ? b2bitcntth21 failure threshold byte1 for b2bitcnt x ? 11 ? x 8 ? 01111101 ? b2blkcnt bip-24 b2 block error counter, 2 thresholds 1 x ? 12/13 ? 1 n 16 x ? 0000 ? b2blkcntth12 degradation threshold byte2 (least sig- nificant byte) for b2blkcnt x ? 14 ? x 8 ? 00100000 ? b2blkcntth11 degradation threshold byte1 forb2blkcnt x ? 15 ? x 8 ? 01001110 ? b2blkcntth22 failure threshold byte2 (least signifi- cant byte) for b2blkcnt x ? 16 ? x 8 ? 00000000 ? b2blkcntth21 failure threshold byte1 for b2blkcnt x ? 17 ? x 8 ? 01111101 ? b3bitcnt bip-8 b3 bit error counter 1 x ? 18/19 ? 1 n 16 x ? 0000 ? b3bitcntth12 threshold register byte2 (least signifi- cant byte) for b3bitcnt x ? 1a ? x 8 ? 00000000 ? b3bitcntth11 threshold register byte1 for counter b3bitcnt x ? 1b ? x 8 ? 01111101 ? b3blkcnt bip-8 b3 block error counter 1 x ? 1c/1d ? 1 n 16 x ? 0000 ? b3blkcntth12 threshold register byte2 (least signifi- cant byte) for b3blkcnt x ? 1e ? x 8 ? 00000000 ? b3blkcntth11 threshold register byte1 for counter b3blkcnt x ? 1f ? x 8 ? 01111101 ? 1. independent of the counter width, given that a counter has chiplet address n as a base. reading address n or address n-1 both yield the least significant byte of the counter. reading address n has no affect on the counter, but reading address n-1 resets the counter after read operation. 2. address range 100-17f located in 128x8. gra address range 180-1bf located in 64x8 gra. 3. the 64-byte j1 path trace processing uses the 16 byte addresses of 16 byte j1 path trace to map a full 64 byte space.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 586 of 706 pnr261_24framr.fm.06 august 14, 2000 counter msreicnt multiplex section remote error indica- tion counter 1 x ? 20/21 ? 1 n 16 x ? 0000 ? msreicntth12 threshold register byte2 (least signifi- cant byte) for msreicnt x ? 22 ? x 8 ? 00000000 ? msreicntth11 threshold register byte1 for counter msreicnt x ? 23 ? x 8 ? 01111101 ? hpreicnt higher-order path remote error indica- tion counter 1 x ? 24/25 ? 1 n 16 x ? 0000 ? hpreicntth12 threshold register byte2 (least signifi- cant byte) for hpreicnt x ? 26 ? x 8 ? 00000000 ? hpreicntth11 threshold register byte1 for counter hpreicnt x ? 27 ? x 8 ? 01111101 ? pj_evcnt positive justification counter, no threshold 1 x ? 28/29 ? 1 n 8 ? 00000000 ? nj_evcnt negative justification counter, no threshold 1 x ? 2a/2b ? 1 n 8 ? 00000000 ? nd_evcnt new data event counter, no threshold 1 x ? 2c/2d ? 1 n 8 ? 00000000 ? reset reset default reset register x ? 30 ? r 2 ? 01 ? status stat1 status register #1 (mode) x ? 33 ? s 3 stat2 status register #2 (au pointer) x ? 34 ? s 6 stat3 status register #3 (soh) x ? 35 ? s 6 stat4 status register #4 (poh) x ? 36 ? s 4 interrupt and mask mainirq main interrupt register x ? 38 ? i 7 m_mainirq interrupt mask register for mainirq x ? 39 ? x 7 ? 0000000 ? cntrirq1 counter interrupt register x ? 3a ? i 8 m_cntrirq1 interrupt mask register for cntrirq1 x ? 3b ? x 8 ? 00000000 ? cntrirq2 counter interrupt register x ? 3c ? i 8 m_cntrirq2 interrupt mask register for cntrirq2 x ? 3d ? x 8 ? 00000000 ? cntrirq3 counter interrupt register x ? 3e ? i 5 m_cntrirq3 interrupt mask register for cntrirq3 x ? 3f ? x 5 ? 00000 ? irq6 user interrupt register x ? 40 ? i 4 m_irq6 interrupt mask register for irq6 x ? 41 ? x 4 ? 0000 ? irq7 user interrupt register x ? 42 ? i 8 m_irq7 interrupt mask register for irq7 x ? 43 ? x 8 ? 00000000 ? irq8 user interrupt register x ? 44 ? i 8 m_irq8 interrupt mask register for irq8 x ? 45 ? x 8 ? 00000000 ? configuration conf1 configuration register #1 (general) x ? 48 ? c 8 ? 00111111 ? conf2 configuration register #2 (soh pro- cessing) x ? 49 ? c 6 ? 0000 ? table 37: ofp_rx gpp handler address mapping base address = x ? 800 ? (page 2 of 5) register group register name description address offset type width initial value 1. independent of the counter width, given that a counter has chiplet address n as a base. reading address n or address n-1 both yield the least significant byte of the counter. reading address n has no affect on the counter, but reading address n-1 resets the counter after read operation. 2. address range 100-17f located in 128x8. gra address range 180-1bf located in 64x8 gra. 3. the 64-byte j1 path trace processing uses the 16 byte addresses of 16 byte j1 path trace to map a full 64 byte space.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 587 of 706 configuration conf3 configuration register #3 (poh pro- cessing) x ? 4a ? c 4 ? 0000 ? conf4 configuration register #4 (aps pro- cessing) x ? 4b ? c 8 ? 00000000 ? conf7 configuration register #7 (miscella- neous) x ? 4e ? c 8 ? 00100000 ? conf8 configuration register #8 (fscr) x ? 4f ? c 8 ? 11111110 ? conf9 configuration register #9 (sl) x ? 50 ? c 8 ? 00010011 ? debug soh-a11 first a1 x ? 100 ? 8 soh-a12 second1 a1 x ? 101 ? 8 soh-a13 third a1 x ? 102 ? 8 soh-a21 first a2 x ? 103 ? 8 soh-a22 second a2 x ? 104 ? 8 soh-a23 third a2 x ? 105 ? 8 soh-j0 j0 x ? 106 ? 8 reserved for national use and not included in frame scrambling (c1) x ? 107-8 ? 8 soh-b1 b1 x ? 109 ? 8 media dependant bytes x ? 10a-0b ? 8 soh-e1 e1 xx ? 10c ? 8 media dependant byte x ? 10d ? 8 reserved for future standardization x ? 10e ? 8 soh-f1 f1 x ? 10f ? 8 reserved for national use x ? 110-11 ? 8 soh-d1 d1 x ? 112 ? 8 media dependant bytes x ? 113-14 ? 8 soh-d2 d2 x ? 115 ? 8 media dependant byte x ? 116 ? 8 reserved for future standardization x ? 117 ? 8 soh-d3 d3 x ? 118 ? 8 reserved for future standardization x ? 119-1a ? 8 soh-h1 h1 x ? 11b ? 8 soh-j0 ? 1001ss11 ? with s unspecified x ? 11c-1d ? 8 soh-h2 h2 x ? 11e ? 8 soh-1s x ? ff ? x ? 11f-20 ? 8 soh-h31 first h3 x ? 121 ? 8 soh-h32 second h3 x ? 122 ? 8 soh-h23 third h3 x ? 123 ? 8 soh-b21 first b2 x ? 124 ? 8 table 37: ofp_rx gpp handler address mapping base address = x ? 800 ? (page 3 of 5) register group register name description address offset type width initial value 1. independent of the counter width, given that a counter has chiplet address n as a base. reading address n or address n-1 both yield the least significant byte of the counter. reading address n has no affect on the counter, but reading address n-1 resets the counter after read operation. 2. address range 100-17f located in 128x8. gra address range 180-1bf located in 64x8 gra. 3. the 64-byte j1 path trace processing uses the 16 byte addresses of 16 byte j1 path trace to map a full 64 byte space.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 588 of 706 pnr261_24framr.fm.06 august 14, 2000 debug soh-b22 second b2 x ? 125 ? 8 soh-b23 third b2 x ? 126 ? 8 soh-k1 k1 x ? x ? 127 ? 8 reserved for future standardization x ? 128-29 ? 8 soh-k2 k2 x ? 12a ? 8 reserved for future standardization x ? 12b-2c ? 8 soh-d4 d4 x ? 12d ? 8 reserved for future standardization x ? 12e-2f ? 8 soh-d5 d5 x ? 130 ? 8 reserved for future standardization x ? 131-32 ? 8 soh-d6 d6 x ? 133 ? 8 reserved for future standardization x ? 134-35 ? 8 soh-d7 d7 x ? 136 ? 8 reserved for future standardization x ? 137-38 ? 8 soh-d8 d8 x ? 139 ? 8 reserved for future standardization x ? 13a-3b ? 8 soh-d9 d9 x ? 13c ? 8 reserved for future standardization x ? 13d-3e ? 8 soh-d10 d10 x ? 13f ? 8 reserved for future standardization x ? 140-41 ? 8 soh-d11 d11 x ? 142 ? 8 reserved for future standardization x ? 143-44 ? 8 soh-d12 d12 x ? 145 ? 8 reserved for future standardization x ? 146-47 ? 8 soh-s1 s1 x ? 148 ? 8 reserved for future standardization x ? 149-9c ? 8 soh-m1 m1 x ? 14d ? 8 soh-m1 e2 x ? 14e ? 8 reserved for future standardization x ? 14f-50 ? 8 reserved x ? 151-53 ? 8 poh-j1 j1 x ? 154 ? 8 poh-b3 b3 x ? 155 ? 8 poh-c2 c2 x ? 156 ? 8 poh-g1 g1 x ? 157 ? 8 poh-f2 f2 x ? 158 ? 8 poh-h4 h4 x ? 159 ? 8 poh-f3 f3 x ? 15a ? 8 poh-k3 k3 x ? 15b ? 8 table 37: ofp_rx gpp handler address mapping base address = x ? 800 ? (page 4 of 5) register group register name description address offset type width initial value 1. independent of the counter width, given that a counter has chiplet address n as a base. reading address n or address n-1 both yield the least significant byte of the counter. reading address n has no affect on the counter, but reading address n-1 resets the counter after read operation. 2. address range 100-17f located in 128x8. gra address range 180-1bf located in 64x8 gra. 3. the 64-byte j1 path trace processing uses the 16 byte addresses of 16 byte j1 path trace to map a full 64 byte space.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 589 of 706 3.23.7.1 rofmid read-on-the-fly registers. debug poh-n1 n1 x ? 15c ? 8 reserved x ? 15d-5f ? 8 poh-j0-16-e expected 16-byte j0 section trace x ? 160-6f ? 8 poh-j0-16-r received 16-byte j0 section trace x ? 170-7f ? 8 poh-j1-16 expected 16-byte j1 path trace 3 x ? 180-8f ? 8 poh-j1-64 64-byte j1 path trace 3 x ? 190-bf ? 8 length 8 bits type read only framer address 800 power on reset value x ? 00 ? rofmid 76543210 bit(s) name description 7-0 rofmid(7-0) read-on-the-fly register, most significant byte. table 37: ofp_rx gpp handler address mapping base address = x ? 800 ? (page 5 of 5) register group register name description address offset type width initial value 1. independent of the counter width, given that a counter has chiplet address n as a base. reading address n or address n-1 both yield the least significant byte of the counter. reading address n has no affect on the counter, but reading address n-1 resets the counter after read operation. 2. address range 100-17f located in 128x8. gra address range 180-1bf located in 64x8 gra. 3. the 64-byte j1 path trace processing uses the 16 byte addresses of 16 byte j1 path trace to map a full 64 byte space.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 590 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.2 b1bitcnt number of bip-8 b1 bit errors counted since last counter reset (16-bit counter). overflow leads to an interrupt request. 3.23.7.3 b1bitcntth11 threshold for number of bip-8 b1 bit errors. length 8 bits type read only framer address 804/805 power on reset value x ? 00 ? b1bitcnt (8-15) 76543210 bit(s) name description 7-0 b1bitcnt(8-15) bip-8 b1 bit error counter, least significant byte. length 8 bits type read/write framer address 807 power on reset value x ? 7d ? b1bitcntth11 76543210 bit(s) name description 7-0 b1bitcntth11(7-0) threshold for bip-8 b1 bit error counter, most significant byte.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 591 of 706 3.23.7.4 b1bitcntth12 threshold for number of bip-8 b1 bit errors. threshold overstep leads to an interrupt request. 3.23.7.5 b1blkcnt number of bip-8 b1 block errors counted since last counter reset (16-bit counter). overflow leads to an inter- rupt request. length 8 bits type read/write framer address 806 power on reset value x ? 00 ? b1bitcntth12 76543210 bit(s) name description 7-0 b1bitcntth12(7-0) threshold for bip-8 b1 bit error error counter, least significant byte. length 8 bits type read only framer address 808/809 power on reset value x ? 00 ? b1blkcnt (8-15) 76543210 bit(s) name description 7-0 b1blkcnt(8-15) bip-8 b1 block error counter, least significant byte.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 592 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.6 b1blkcntth11 threshold for number of bip-8 b1 block errors. 3.23.7.7 b1blkcntth12 threshold for number of bip-8 b1 block errors. threshold overstep leads to an interrupt request. length 8 bits type read/write framer address 80b power on reset value x ? 7d ? b1blkcntth11 76543210 bit(s) name description 7-0 b1blkcntth11(7-0) threshold for bip-8 b1 block error counter, most significant byte. length 8 bits type read/write framer address 80a power on reset value x ? 00 ? b1blkcntth12 76543210 bit(s) name description 7-0 b1blkcntth12(7-0) threshold for bip-8 b1 block error counter, least significant byte.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 593 of 706 3.23.7.8 b2bitcnt number of bip-24 b2 bit errors counted since last counter reset (16-bit counter). overflow leads to an inter- rupt request. 3.23.7.9 b2bitcntth11 degradation threshold for number of bip-24 b2 bit errors. length 8 bits type read only framer address 80c/80d power on reset value x ? 00 ? b2bitcnt (8-15) 76543210 bit(s) name description 7-0 b2bitcnt(8-15) bip-24 b2 bit error counter, least significant byte. length 8 bits type read/write framer address 80f power on reset value x ? 4e ? b2bitcntth11 76543210 bit(s) name description 7-0 b2bitcntth11(7-0) degradation threshold for bip-24 b2 bit error counter, most significant byte.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 594 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.10 b2bitcntth12 degradation threshold for number of bip-24 b2 bit errors. threshold overstep leads to an interrupt request. 3.23.7.11 b2bitcntth21 failure threshold for number of bip-24 b2 bit errors. length 8 bits type read/write framer address 80e power on reset value x ? 20 ? b2bitcntth12 76543210 bit(s) name description 7-0 b2bitcntth12(7-0) degradation threshold for bip-24 b2 bit error counter, least significant byte. length 8 bits type read/write framer address 811 power on reset value x ? 7d ? b2bitcntth21 76543210 bit(s) name description 7-0 b2bitcntth21(7-0) failure threshold for bip-24 b2 bit error counter, most significant byte.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 595 of 706 3.23.7.12 b2bitcntth22 failure threshold for number of bip-24 b2 bit errors. threshold overstep leads to an interrupt request. 3.23.7.13 b2blkcnt number of bip-24 b2 block errors counted since last counter reset (16-bit counter). overflow leads to an interrupt request. length 8 bits type read/write framer address 810 power on reset value x ? 00 ? b2bitcntth22 76543210 bit(s) name description 7-0 b2bitcntth22(7-0) failure threshold for bip-24 b2 bit error counter, least significant byte. length 8 bits type read only framer address 812/813 power on reset value x ? 00 ? b2blkcnt 76543210 bit(s) name description 7-0 b2blkcnt(8-15) bip-24 b2 block error counter, least significant byte.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 596 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.14 b2blkcntth11 degradation threshold for number of bip-24 b2 block errors. 3.23.7.15 b2blkcntth12 degradation threshold for number of bip-24 b2 block errors. threshold overstep leads to an interrupt request. length 8 bits type read/write framer address 815 power on reset value x ? 4e ? b2blkcntth11 76543210 bit(s) name description 7-0 b2blkcntth11(7-0) degradation threshold for bip-24 b2 block error counter, most significant byte. length 8 bits type read/write framer address 814 power on reset value x ? 20 ? b2blkcntth12 76543210 bit(s) name description 7-0 b2blkcntth12(7-0) degradation threshold for bip-24 b2 block error counter, least significant byte.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 597 of 706 3.23.7.16 b2blkcntth21 failure threshold for number of bip-24 b2 block errors. 3.23.7.17 b2blkcntth22 failure threshold for number of bip-24 b2 block errors. threshold overstep leads to an interrupt request. length 8 bits type read/write framer address 817 power on reset value x ? 7d ? b2blkcntth21 76543210 bit(s) name description 7-0 b2blkcntth21(7-0) failure threshold for bip-24 b2 block error counter, most significant byte. length 8 bits type read/write framer address 816 power on reset value x ? 00 ? b2blkcntth22 76543210 bit(s) name description 7-0 b2blkcntth22(7-0) failure threshold for bip-24 b2 block error counter, least significant byte.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 598 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.18 b3bitcnt number of bip-8 b3 bit errors counted since last counter reset (16-bit counter). overflow leads to an interrupt request. 3.23.7.19 b3bitcntth11 threshold for number of bip-8 b3 bit errors. length 8 bits type read only framer address 818/819 power on reset value x ? 00 ? b3bitcnt 76543210 bit(s) name description 7-0 b3bitcnt(8-15) bip-8 b3 bit error counter, least significant byte. length 8 bits type read/write framer address 81b power on reset value x ? 7d ? b3bitcntth11 76543210 bit(s) name description 7-0 b3bitcntth11(7-0) threshold for bip-8 b3 bit error counter, most significant byte.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 599 of 706 3.23.7.20 b3bitcntth12 threshold for number of bip-8 b3 bit errors. threshold overstep leads to an interrupt request. 3.23.7.21 b3blkcnt number of bip-8 b3 block errors counted since last counter reset (16-bit counter). overflow leads to an inter- rupt request. length 8 bits type read/write framer address 81a power on reset value x ? 00 ? b3bitcntth12 76543210 bit(s) name description 7-0 b3bitcntth12(7-0) threshold for bip-8 b3 bit error counter, least significant byte. length 8 bits type read only framer address 81c/81d power on reset value x ? 00 ? b3blkcnt 76543210 bit(s) name description 7-0 b3blkcnt(8-15) bip-8 b3 block error counter, least significant byte.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 600 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.22 b3blkcntth11 threshold for number of bip-8 b3 block errors. 3.23.7.23 b3blkcntth12 threshold for number of bip-8 b3 block errors. threshold overstep leads to an interrupt request. length 8 bits type read/write framer address 81f power on reset value x ? 7d ? b3blkcntth11 76543210 bit(s) name description 7-0 b3blkcntth11(7-0) threshold for bip-8 b3 block error counter, most significant byte. length 8 bits type read/write framer address 81e power on reset value x ? 00 ? b3blkcntth12 76543210 bit(s) name description 7-0 b3blkcntth12(7-0) threshold for bip-8 b3 block error counter, least significant byte.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 601 of 706 3.23.7.24 msreicnt multiplex section remote error indication counter (16-bit counter). overflow leads to an interrupt request. 3.23.7.25 msreicntth11 threshold for number of multiplex section remote errors. length 8 bits type read only framer address 820/821 power on reset value x ? 00 ? msreicnt (8-15) 76543210 bit(s) name description 7-0 msreicnt(8-15) multiplex section remote error indication counter, least significant byte. length 8 bits type read/write framer address 823 power on reset value x ? 7d ? msreicntth11 76543210 bit(s) name description 7-0 msreicntth11(7-0) threshold for multiplex indication counter section remote error, most significant byte.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 602 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.26 msreicntth12 threshold for number of multiplex section remote errors. threshold overstep leads to an interrupt request. 3.23.7.27 hpreicnt higher-order path remote error indication counter (16-bit counter). overflow leads to an interrupt request. length 8 bits type read/write framer address 822 power on reset value x ? 00 ? msreicntth12 76543210 bit(s) name description 7-0 msreicntth12(7-0) threshold for multiplex indication counter section remote error, least significant byte. length 8 bits type read only framer address 824/825 power on reset value x ? 00 ? hpreicnt (8-15) 76543210 bit(s) name description 7-0 hpreicnt(8-15) higher-order path remote error indication counter, least significant byte.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 603 of 706 3.23.7.28 hpreicntth11 threshold for number of higher-order path remote errors. 3.23.7.29 hpreicntth12 threshold for number of higher-order path remote errors. threshold overstep leads to an interrupt request. length 8 bits type read/write framer address 827 power on reset value x ? 7d ? hpreicntth11 76543210 bit(s) name description 7-0 hpreicntth11(7-0) threshold for higher-order path remote error indication counter, most significant byte. length 8 bits type read/write framer address 826 power on reset value x ? 00 ? hpreicntth12 76543210 bit(s) name description 7-0 hpreicntth12(7-0) threshold for higher-order path remote error indication counter, least significant byte.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 604 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.30 pj_evcnt positive justification event counter (eight-bit counter). overflow leads to an interrupt request. 3.23.7.31 nj_evcnt negative justification event counter (eight-bit counter). overflow leads to an interrupt request. length 8 bits type read only framer address 828/829 power on reset value x ? 00 ? pj_evcnt 76543210 bit(s) name description 7-0 pj_evcnt(7-0) positive justification event counter. length 8 bits type read only framer address 82a/82b power on reset value x ? 00 ? nj_evcnt 76543210 bit(s) name description 7-0 nj_evcnt(7-0) negative justification event counter.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 605 of 706 3.23.7.32 nd_evcnt new data event counter (eight-bit counter). overflow leads to an interrupt request. length 8 bits type read only framer address 82c/82d power on reset value x ? 00 ? nd_evcnt 76543210 bit(s) name description 7-0 nd_evcnt(7-0) new data event counter.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 606 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.33 cnten1 counter on/off control register #1 for ofp_rx. for each bit position: 0 = counter is disabled. 1 = counter is enabled. length 8 bits type read/write framer address 802 power on reset value x ? 00 ? en-hpreicnt en-msreicnt en-b3blkcnt en-b3bitcnt en-b2blkcnt en-b2bitcnt en-b1blkcnt en-b1bitcnt 76543210 bit(s) name description 7 en-hpreicnt higher-order path remote error indication counter enable. 6 en-msreicnt multiplex section remote error indication counter enable. 5 en-b3blkcnt bip-8 b3 block error counter enable. 4 en-b3bitcnt bip-8 b3 bit error counter enable. 3 en-b2blkcnt bip-24 b2 block error counter enable. 2 en-b2bitcnt bip-24 b2 bit error counter enable. 1 en-b1blkcnt bip-8 b1 block error counter enable. 0 en-b1bitcnt bip-8 b1 bit error counter enable.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 607 of 706 3.23.7.34 cnten2 counter on/off control register #2 for ofp_rx. for each bit position: 0 = counter is disabled. 1 = counter is enabled. length 8 bits type read/write framer address 803 power on reset value x ? 00 ? reserved en-nd_evcnt en-nj_evcnt en-pj_evcnt 76543210 bit(s) name description 7-3 reserved reserved. 2 en-nd_evcnt new data event counter enable. 1 en-nj_evcnt negative justification event counter enable. 0 en-pj_evcnt positive justification event counter enable.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 608 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.35 reset register (reset) reset/halt chiplet control register. this register is preset automatically to the default value by the reset signal resot coming from gppint chiplet. for each bit position: 0 = reset/halt not active. 1 = reset/halt active. 3.23.7.36 stat1 status register #1 of the chiplet. ofp_rx mode status information. this is an event latch register. length 8 bits type read/write framer address 830 power on reset value x ? 01 ? reserved halt ofp_rx reset ofp_rx 76543210 bit(s) name description 7-2 reserved reserved. 1 halt ofp_rx halt (freeze) ofp_rx chiplet. 0 reset ofp_rx reset (disable) ofp_rx chiplet. length 8 bits type framer address 833 power on reset value - reserved 76543210 bit(s) name description 7-0 reserved reserved.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 609 of 706 3.23.7.37 stat2 status register #2 of the chiplet. au pointer status information of ofp_rx. this is an event latch register. length 8 bits type read/write framer address 834 power on reset value reserved concrx newptr invptr ndf pjus njus 76543210 bit(s) name description 7-6 reserved reserved. 5 concrx concatenation indication received. 4 newptr valid new pointer received. 3 invptr invalid pointer received. 2 ndf ndf received. 1 pjus positive frequency justification received. 0 njus negative frequency justification received.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 610 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.38 stat3 status register #3 of the chiplet. section overhead (soh) status of ofp_rx. this is an event latch register. length 8 bits type read/write framer address 835 power on reset value reserved e1chg e2chg f1chg d1chg d4chg m1chg 76543210 bit(s) name description 7-6 reserved reserved. 5 e1chg orderwire channel e1 content changed. 4 e2chg orderwire channel e2 content changed. 3 f1chg user communication channel f1 content changed. 2 d1chg d1-d3 communication channel content changed. 1 d4chg d4-d12 communication channel content changed. 0 m1chg number of bit blocks in error changed.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 611 of 706 3.23.7.39 stat4 status register #4 of the chiplet. path overhead (poh) status of ofp_rx. this is an event latch register. length 8 bits type read/write framer address 836 power on reset value reserved c2chg g1chg f2chg z5 76543210 bit(s) name description 7-4 reserved reserved. 3 c2chg payload composition indication changed. 2 g1chg path status indication changed. 1 f2chg user communication channel f2 content changed. 0 z5 z5 content changed.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 612 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.40 mainirq this register is used to indicate fatal interrupt events and point to user irq registers with active requests. for each bit position: 0 = no interrupt request pending. 1 = interrupt request pending. length 8 bits type read/write framer address 838 power on reset value reserved irq8 irq7 irq6 cntrirq3 cntrirq2 cntrirq1 fatal 76543210 bit(s) name description 7 reserved reserved. 6 irq8 active request in irq8 register. 5 irq7 active request in irq7 register. 4 irq6 active request in irq6 register. 3 cntrirq3 active request in cntrirq3 register. 2 cntrirq2 active request in cntrirq2 register. 1 cntrirq1 active request in cntrirq1 register. 0 fatal fatal event occurred.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 613 of 706 3.23.7.41 m_mainirq this register is used to mask pending interrupt requests. a masked request will not generate an outgoing irq to the gppint. for each bit position: 0 = the corresponding pending request bit is masked (default). 1 = the corresponding pending request bit activates signal irqor to gppint. length 8 bits type read/write framer address 839 power on reset value x ? 00 ? reserved irq8 irq7 irq6 cntrirq3 cntrirq2 cntrirq1 fatal 76543210 bit(s) name description 7 reserved reserved. 6 irq8 active request in irq8 register. 5 irq7 active request in irq7 register. 4 irq6 active request in irq6 register. 3 cntrirq3 active request in cntrirq3 register. 2 cntrirq2 active request in cntrirq2 register. 1 cntrirq1 active request in cntrirq1 register. 0 fatal fatal event occurred.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 614 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.42 cntrirq1 register #1 to indicate active counter interrupt requests of this chiplet. for each bit position: 0 = no interrupt request pending. 1 = interrupt request pending. length 8 bits type read/write framer address 83a power on reset value ov-b2blkcnt t2-b2bitcnt th-b2bitcnt ov-b2bitcnt th-b1blkcnt ov-b1blkcnt th-b1bitcnt ov-b1bitcnt 76543210 bit(s) name description 7 ov-b2blkcnt overflow bip-24 b2 block error counter. 6 t2-b2bitcnt failure threshold overstep bip-24 b2 bit error counter. 5 th-b2bitcnt degradation threshold overstep bip-24 b2 bit error counter. 4 ov-b2bitcnt overflow bip-24 b2 bit error counter. 3 th-b1blkcnt threshold overstep bip-8 b1 block error counter. 2 ov-b1blkcnt overflow bip-8 b1 block error counter. 1 th-b1bitcnt threshold overstep bip-8 b1 bit error counter. 0 ov-b1bitcnt overflow bip-8 b1 bit error counter.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 615 of 706 3.23.7.43 m_cntrirq1 this register is used to mask pending counter interrupt requests. for each bit position: 0 = the corresponding pending request bit is masked (default). 1 = the corresponding pending request bit activates the pointer bit in mainirq register. length 8 bits type read/write framer address 83b power on reset value x ? 00 ? ov-b2blkcnt t2-b2bitcnt th-b2bitcnt ov-b2bitcnt th-b1blkcnt ov-b1blkcnt th-b1bitcnt ov-b1bitcnt 76543210 bit(s) name description 7 ov-b2blkcnt overflow bip-24 b2 block error counter. 6 t2-b2bitcnt failure threshold overstep bip-24 b2 bit error counter. 5 th-b2bitcnt degradation threshold overstep bip-24 b2 bit error counter. 4 ov-b2bitcnt overflow bip-24 b2 bit error counter. 3 th-b1blkcnt threshold overstep bip-8 b1 block error counter. 2ov-b1blkcnt overflow bip-8 b1 block error counter. 1 th-b1bitcnt threshold overstep bip-8 b1 bit error counter. 0 ov-b1bitcnt overflow bip-8 b1 bit error counter.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 616 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.44 cntrirq2 register #2 to indicate active counter interrupt requests of this chiplet. for each bit position: 0 = no interrupt request pending. 1 = interrupt request pending. length 8 bits type read/write framer address 83c power on reset value th-msreicnt ov-msreicnt th-b3blkcnt ov-b3blkcnt th-b3bitcnt ov-b3bitcnt t2-b2blkcnt th-b2blkcnt 76543210 bit(s) name description 7 th-msreicnt threshold overstep multiplex section remote error indication counter. 6 ov-msreicnt overflow multiplex section remote error indication counter. 5 th-b3blkcnt threshold overstep bip-8 b3 block error counter. 4 ov-b3blkcnt overflow bip-8 b3 block error counter. 3 th-b3bitcnt threshold overstep bip-8 b3 bit error counter. 2 ov-b3bitcnt overflow bip-8 b3 bit error counter. 1 t2-b2blkcnt failure threshold overstep bip-24 b2 block error counter. 0 th-b2blkcnt degradation threshold overstep bip-24 b2 block error counter.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 617 of 706 3.23.7.45 m_cntrirq2 this register is used to mask pending counter interrupt requests. for each bit position: 0 = the corresponding pending request bit is masked (default). 1 = the corresponding pending request bit activates the pointer bit in mainirq register. length 8 bits type read/write framer address 83d power on reset value x ? 00 ? th-msreicnt ov-msreicnt th-b3blkcnt ov-b3blkcnt th-b3bitcnt ov-b3bitcnt t2-b2blkcnt th-b2blkcnt 76543210 bit(s) name description 7 th-msreicnt threshold overstep multiplex section remote error indication counter. 6 ov-msreicnt overflow multiplex section remote error indication counter. 5 th-b3blkcnt threshold overstep bip-8 b3 block error counter. 4 ov-b3blkcnt overflow bip-8 b3 block error counter. 3 th-b3bitcnt threshold overstep bip-8 b3 bit error counter. 2 ov-b3bitcnt overflow bip-8 b3 bit error counter. 1 t2-b2blkcnt failure threshold overstep bip-24 b2 block error counter. 0 th-b2blkcnt degradation threshold overstep bip-24 b2 block error counter.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 618 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.46 cntrirq3 register #3 to indicate active counter interrupt requests of this chiplet. for each bit position: 0 = no interrupt request pending. 1 = interrupt request pending. length 8 bits type read/write framer address 83e power on reset value reserved ov-nd_evcnt ov-nj_evcnt ov-pj_evcnt th-hpreicnt ov-hpreicnt 76543210 bit(s) name description 7-5 reserved reserved. 4 ov-nd_evcnt overflow new data event counter. 3 ov-nj_evcnt overflow negative justification event counter. 2 ov-pj_evcnt overflow positive justification event counter. 1 th-hpreicnt threshold overstep higher-order path remote error indication counter. 0 ov-hpreicnt overflow hpr error indication counter.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 619 of 706 3.23.7.47 m_cntrirq3 this register is used to mask pending counter interrupt requests. for each bit position: 0 = the corresponding pending request bit is masked (default). 1 = the corresponding pending request bit activates the pointer bit in mainirq register. length 8 bits type read/write framer address 83f power on reset value x ? 00 ? reserved ov-nd_evcnt ov-nj_evcnt ov-pj_evcnt th-hpreicnt ov-hpreicnt 76543210 bit(s) name description 7-5 reserved reserved. 4 ov-nd_evcnt overflow new data event counter. 3 ov-nj_evcnt overflow negative justification event counter. 2 ov-pj_evcnt overflow positive justification event counter. 1 th-hpreicnt threshold overstep higher-order path remote error indication counter. 0 ov-hpreicnt overflow hpr error indication counter.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 620 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.48 irq6 this register is used to indicate active user interrupt requests of this chiplet. for each bit position: 0 = no interrupt request pending. 1 = interrupt request pending. length 8 bits type read/write framer address 840 power on reset value reserved sdbfull frmerr s1chg hprei 76543210 bit(s) name description 7-4 reserved reserved. 3 sdbfull sdb_rx fifo full. 2 frmerr interrupt from orxaug fsm. 1 s1chg synchronization status changed. 0 hprei higher-order path remote error indication.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 621 of 706 3.23.7.49 m_irq6 this register is used to mask pending user interrupt requests. for each bit position: 0 = the corresponding pending request bit is masked (default). 1 = the corresponding pending request bit activates the pointer bit in mainirq register. length 8 bits type read/write framer address 841 power on reset value x ? 00 ? reserved sdbfull frmerr s1chg hprei 76543210 bit(s) name description 7-4 reserved reserved. 3 sdbfull sdb_rx fifo full. 2 frmerr interrupt from orxaug fsm. 1 s1chg synchronization status changed. 0 hprei higher-order path remote error indication.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 622 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.50 irq7 this register is used to indicate active user interrupt requests of this chiplet. for each bit position: 0 = no interrupt request pending. 1 = interrupt request pending. length 8 bits type read/write framer address 842 power on reset value oof los lof lop hpais hprdi uneq slm 76543210 bit(s) name description 7 oof out of frame alarm. 6 los loss of signal alarm. 5 lof loss of frame alarm. 4 lop loss of pointer alarm. 3 hpais higher-order path ais. 2 hprdi higher-order path rdi. 1 uneq unequipped signal. 0 slm signal label mismatch alarm.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 623 of 706 3.23.7.51 m_irq7 this register is used to mask pending user interrupt requests. for each bit position: 0 = the corresponding pending request bit is masked (default). 1 = the corresponding pending request bit activates the pointer bit in mainirq register. length 8 bits type read/write framer address 843 power on reset value x ? 00 ? oof los lof lop hpais hprdi uneq slm 76543210 bit(s) name description 7 oof out of frame alarm. 6 los loss of signal alarm. 5 lof loss of frame alarm. 4 lop loss of pointer alarm. 3 hpais higher-order path ais. 2 hprdi higher-order path rdi. 1 uneq unequipped signal. 0 slm signal label mismatch alarm.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 624 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.52 irq8 this register is used to indicate active user interrupt requests of this chiplet. for each bit position: 0 = no interrupt request pending. 1 = interrupt request pending. length 8 bits type read/write framer address 844 power on reset value msais msrdi reserved mstim hptim ptrerr 76543210 bit(s) name description 7 msais multiplex section ais. 6 msrdi multiplex section rdi. 5-3 reserved reserved. 2 mstim multiplex section trace identifier mismatch. 1 hptim higher-order path trace identifier mismatch. 0 ptrerr pointer processing error.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 625 of 706 3.23.7.53 m_irq8 this register is used to mask pending user interrupt requests. for each bit position: 0 = the corresponding pending request bit is masked (default). 1 = the corresponding pending request bit activates the pointer bit in mainirq register. length 8 bits type read/write framer address 845 power on reset value x ? 00 ? msais msrdi reserved mstim hptim ptrerr 76543210 bit(s) name description 7 msais multiplex section ais. 6 msrdi multiplex section rdi. 5-3 reserved reserved. 2 mstim multiplex section trace identifier mismatch. 1 hptim higher-order path trace identifier mismatch. 0 ptrerr pointer processing error.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 626 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.54 conf1 configuration register #1. general ofp_rx configuration signals. length 8 bits type read/write framer address 848 power on reset value x ? 3f ? reshunt bellcore j1gra j0gra fifoen graen autrst_sta autrst_int 76543210 bit(s) name description 7reshunt 0 hunt free running. 1 reset hunt to pim. 6 bellcore 0 operate according to itu standard. 1 operate according to bellcore specification. 5j1gra 0 do not write j1 section trace to gra. 1 write j1 section trace to gra. 4j0gra 0 do not write j0 section trace to gra. 1 write j0 section trace to gra. 3fifoen 0 do not write c4 payload to fifo. 1 write c4 payload to fifo. 2graen 0 do not write soh/poh info to gra. 1 write received soh/poh info to gra. 1autrst_sta 0 no action on read access. 1 auto-reset status register upon read access. 0 autrst_int 0 no action on read access. 1 auto-reset interrupt request registers upon read access.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 627 of 706 3.23.7.55 conf2 configuration register #2. soh processing configuration signals. length 8 bits type read/write framer address 849 power on reset value x ? 00 ? reserved k2en s1en m1en oproc 76543210 bit(s) name description 7-4 reserved reserved. 3k2en 0 disable k2 ais processing. 1 enable k2 ais processing. 2s1en 0 disable s1 synchronization status processing. 1 enable s1 synchronization status processing. 1m1en 0 disable m1 rei processing. 1 enable m1 rei processing. 0j0proc 0 disable j0 section trace processing. 1 enable j0 section trace processing.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 628 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.56 conf3 configuration register #3. poh byte processing configuration signals. length 8 bits type read/write framer address 84a power on reset value x ? 00 ? reserved c2en g1en j1mode64 j1proc 76543210 bit(s) name description 7-4 reserved reserved. 3c2en 0 disable c2 signal label processing. 1 enable c2 signal label processing. 2g1en 0 disable g1 path status processing. 1 enable g1 path status processing. 1 j1mode64 0 16-byte j1 trace. 1 64-byte j1 trace. 0j1proc 0 disable j1 path trace processing. 1 enable j1 path trace processing.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 629 of 706 3.23.7.57 conf4 configuration register #4. aps processing configuration signals. length 8 bits type read/write framer address 84b power on reset value x ? 00 ? sfen aaen sdfen prior chnum (7-4) 76543210 bit(s) name description 7sfen 0 disable sf k2 ms_rdi processing. 1 enable sf k2 ms_rdi processing. 6aaen 0 disable automatic alarm processing for k2. 1 enable automatic alarm processing for k2. 5sdfen 0 disable automatic sdf k1 processing. 1 enable automatic sdf k1 processing. 4 prior priority level. 3-0 chnum(7-4) channel number.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 630 of 706 pnr261_24framr.fm.06 august 14, 2000 3.23.7.58 conf7 configuration register #7. miscellaneous ofp_rx configuration signals. length 8 bits type read/write framer address 84e power on reset value x ? 20 ? edgemode clkmode opmode dccen outnum (7-6) innum (7-6) 76543210 bit(s) name description 7 edgemode 0 active falling edge. 1 active rising edge. 6clkmode 0 continuous clock mode. 1 strobed clock mode. 5 opmode 0 dcc 1 channel selected. 1 dcc 2 channel selected. 4 dccen 0 disable dcc processing. 1 enable dcc processing. 3-2 outnum(7-6) number of s for in-frame to out-of-frame transition. 1-0 innum(7-6) number of s for out-of-frame to in-frame transition.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_24framr.fm.06 august 14, 2000 sonet framer core (framr chiplet address mapping) page 631 of 706 3.23.7.59 conf8 configuration register #8. pattern register signals. 3.23.7.60 conf9 configuration register #9. pattern register signals. length 8 bits type read/write framer address 84f power on reset value x ? fe ? fscrrx 76543210 bit(s) name description 7-0 fscrrx(7-0) frame descrambling reload pattern. length 8 bits type read/write framer address 850 power on reset value x ? 13 ? slexpct 76543210 bit(s) name description 7-0 slexpct(7-0) expected signal label.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sonet framer core (framr chiplet address mapping) page 632 of 706 pnr261_24framr.fm.06 august 14, 2000
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 page 633 of 706 4. physical description and signal definitions figure 36: package diagram this view 1.75 min 2.15 max also no ball a01 locator ibm32npcxxepabbd66 linear tolerances: +- 0.5mm top view 0.9 0.1 side view 32.5 32.5 10.9 all dimensions are in millimeters 10.9
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page 634 of 706 pnr261_26elec.fm.06 august 14, 2000 figure 37: pinout viewed from above bsm - 32 x 32mm cbga at 1.27mm pitch wvu trpnml k j hgfedcba 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 ad ac ab aa y 20 21 22 23 24 25 a01 corner ae signal = 443 v dd250 = 48 v dd330 = 40 1 2 1 2 2 1 1 1 1 2 2 2 1 1 2 1 1 1 2 1 1 1 1 1 2 1 1 2 1 2 note: for illustrative purposes only. refer to ibm asic sa-12e databook available from your ibm representative. viewed through top of package 2 1 2 2 1 1 2 2 1 1 2 2 2 2 2 2 1 2 2 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 2 2 1 2 2 1 2 2 1 2 2 2 1 2 1 1 1 1 1 2 2 2 2 ground = 87 no connect = 6
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 page 635 of 706 table 38: signal pin listing by signal name (page 1 of 5) signal name grid position library element signal name grid position library element signal name grid position library element bist0di1 0w01 k cmdata(0) 0m09 c cmdata(36) 0g06 c cm0cs (0) ad17 c cmdata(1) 0n03 c cmdata(37) 0g07 c cm0cs (1) 0y15 c cmdata(2) 0n02 c cmdata(38) 0e04 c cm0cs (2) ae16 c cmdata(3) 0l02 c cmdata(38) 0e04 c cm0cs (3) ae15 c cmdata(4) 0l03 c cmsyncas (0) 0u15 c cm0dqm (0) 0u14 c cmdata(5) 0l09 c cmsyncas (1) ac17 c cm0dqm (1) ab15 c cmdata(6) 0m03 c cmsynras (0) ae18 c cm0dqm (2) ae14 c cmdata(7) 0l04 c cmsynras (1) aa17 c cm0dqm (3) ac14 c cmdata(8) 0l08 c cmwe (0) 0w13 c cmaddr(0) 0w02 c cmdata(9) 0k03 c cmwe (1) aa13 c cmaddr(1) 0u03 c cmdata(10) 0l05 c cts 0p07 t cmaddr(2) 0r08 c cmdata(11) 0l06 c dsr 0w03 o cmaddr(3) 0u02 c cmdata(12) 0j02 c dtr aa05 o cmaddr(4) 0t05 c cmdata(13) 0l07 c enstate(0) 0c24 a cmaddr(5) 0u04 c cmdata(14) 0l10 c enstate(1) 0b25 a cmaddr(6) 0r07 c cmdata(15) 0k05 c enstate(2) 0e24 a cmaddr(7) 0t03 c cmdata(16) 0j05 c enstate(3) aa24 a cmaddr(8) 0r06 c cmdata(17) 0h01 c enstate(4) ab25 a cmaddr(9) 0n09 c cmdata(18) 0j03 c enstate(5) ad25 a cmaddr(10) 0r05 c cmdata(19) 0k09 c enstate(6) ac24 a cmaddr(11) 0p03 c cmdata(20) 0j04 c enstate(7) ad23 a cmaddr(12) 0r03 c cmdata(21) 0j07 c enstate(8) ae25 a cmaddr(13) 0r04 c cmdata(22) 0h03 c enstate(9) ae22 a cmaddr(14) 0r02 c cmdata(23) 0k07 c enstate(10) ae24 a cmaddr(15) 0n04 c cmdata(24) 0g02 c enstate(11) ad21 a cmaddr(16) 0n07 c cmdata(25) 0f01 c enstate(12) ae04 a cmaddr(17) 0n08 c cmdata(26) 0j09 c enstate(13) ad05 a cmaddr(18) 0m11 c cmdata(27) 0h05 c enstate(14) ae01 a cmaddr(19) 0n10 c cmdata(28) 0j06 c enstate(15) ac02 a cmaddr(20) 0n06 c cmdata(29) 0g04 c enstate(16) ad01 a cmclk(0) 0j01 b cmdata(30) 0f03 c enstate(17) ab01 a cmclk(1) 0k01 b cmdata(31) 0j08 c enstate(18) aa02 a cmclk(2) 0l01 b cmdata(32) 0g05 c enstate(19) 0b01 a cmclk(3) 0m01 b cmdata(33) 0h07 c enstate(20) 0e02 a cmclk(4) 0n01 b cmdata(34) 0d03 c enstate(21) 0d01 a cmclke ad13 c cmdata(35) 0f05 c enstate(22) 0c02 a
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page 636 of 706 pnr261_26elec.fm.06 august 14, 2000 enstate(23) 0b03 a enstate(60) 0c25 k fyrsclk 0j24 da enstate(24) 0a02 a enstate(61) 0c23 k fyrsclk 0j25 da enstate(25) 0a04 a enstate(62) 0a23 k fyrsdat 0m23 da enstate(26) 0b05 a enstate(63) 0a21 k fyrsdat 0m25 da enstate(27) 0a22 a fy0emp 0l17 n fyrsoc 0r24 l enstate(28) 0b21 a fy0ful 0j23 n fytadr(0) 0n20 g enstate(29) 0a25 a fy0renb 0h25 i fytadr(1) 0n21 g enstate(30) 0b23 a fy0tenb 0j21 i fytadr(2) 0t25 g enstate(31) 0a24 a fydiscrd 0k21 l fytadr(3) 0n22 g enstate(32) 0n23 j fydtct 0l18 n fytadr(4) 0n24 g enstate(33) 0r22 j fyradr(0) 0l19 g fytca 0n25 l enstate(34) 0r19 j fyradr(1) 0l20 g fytdat(0) 0f21 j enstate(35) 0u22 j fyradr(2) 0k25 g fytdat(1) 0k17 j enstate(36) 0t21 j fyradr(3) 0l25 g fytdat(2) 0g20 j enstate(37) 0u24 j fyradr(4) 0l21 g fytdat(3) 0g21 j enstate(38) 0r18 j fyrca 0l22 l fytdat(4) 0e22 j enstate(39) 0u23 j fyrdat(0) aa23 t fytdat(5) 0j18 j enstate(40) 0w24 j fyrdat(1) 0w25 t fytdat(6) 0d23 j enstate(41) 0v23 j fyrdat(2) 0w23 t fytdat(7) 0g22 j enstate(42) 0v25 j fyrdat(3) ac21 t fytdat(8) 0j19 g enstate(43) 0t19 j fyrdat(4) aa21 t fytdat(9) 0j20 g enstate(44) 0r17 j fyrdat(5) 0p21 t fytdat(10) 0h21 g enstate(45) 0r16 j fyrdat(6) 0m21 t fytdat(11) 0m15 g enstate(46) 0u20 j fyrdat(7) 0e21 t fytdat(12) 0k19 g enstate(47) 0u21 j fyrdat(8) 0c21 t fytdat(13) 0h23 g enstate(48) 0v21 j fyrdat(9) ae19 t fytdat(14) 0l16 g enstate(49) 0w22 j fyrdat(10) ac19 t fytdat(15) 0j22 g enstate(50) aa01 k fyrdat(11) 0p19 t fyteop 0r21 h enstate(51) ac01 k fyrdat(12) 0m19 t fytmod 0p17 h enstate(52) ac03 k fyrdat(13) 0c19 t fytpar(0) 0p15 j enstate(53) ae03 k fyrdat(14) aa14 t fytpar(1) 0n19 j enstate(54) ae05 k fyrdat(15) 0w14 t fytsclk 0t23 da enstate(55) ae21 k fyreop 0l23 l fytsclk 0r25 da enstate(56) ae23 k fyrmod 0l24 l fytsdat 0p23 db enstate(57) ac23 k fyrpar(0) 0k23 n fytsdat 0p25 db enstate(58) ac25 k fyrpar(1) 0m17 n fytsoc 0u25 g enstate(59) aa25 k fyrrdb 0r23 n fytwrb 0r20 n table 38: signal pin listing by signal name (page 2 of 5) signal name grid position library element signal name grid position library element signal name grid position library element
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 page 637 of 706 ibdinh1 0e05 q pad(1) 0f13 d pad64(38) 0b07 d ibdinh2 0a03 r pad(2) 0l14 d pad64(39) 0f07 d ibdrinh 0c01 u pad(3) 0g13 d pad64(40) 0d07 d jtag0rst 0g12 t pad(4) 0h13 d pad64(41) 0g09 d jtagtck 0e12 t pad(5) 0j13 d pad64(42) 0f09 d jtagtdi 0e14 t pad(6) 0k13 d pad64(43) 0e08 d jtagtdo 0a07 k pad(7) 0d13 d pad64(44) 0j10 d jtagtms 0g14 t pad(8) 0b13 d pad64(45) 0g08 d jtcomply 0c03 m pad(9) 0a13 d pad64(46) 0h09 d leaktst 0a05 s pad(10) 0c15 d pad64(47) 0g10 d mack64 0c10 d pad(11) 0d15 d pad64(48) 0c08 d mdevsel 0e16 d pad(12) 0a16 d pad64(49) 0k11 d mextpmevent 0g15 n pad(13) 0c14 d pad64(50) 0d09 d mframe 0c17 d pad(14) 0a14 d pad64(51) 0j11 d mgnt 0c22 d pad(15) 0e15 d pad64(52) 0c09 d mhaltppc 0u19 n pad(16) 0j15 d pad64(53) 0a08 d mint2 0j16 d pad(17) 0k15 d pad64(54) 0e09 d minta 0j17 d pad(18) 0g16 d pad64(55) 0e10 d mirdy 0h15 d pad(19) 0h17 d pad64(56) 0h11 d mpcirst aa03 e pad(20) 0g18 d pad64(57) 0g11 d mpegclk 0c07 t pad(21) 0f17 d pad64(58) 0a09 d mperr 0c16 d pad(22) 0e17 d pad64(59) 0b09 d mpllreset aa12 v pad(23) 0e18 d pad64(60) 0f11 d mpmevent 0y25 f pad(24) 0c18 d pad64(61) 0a10 d mreq 0d21 d pad(25) 0a18 d pad64(62) 0a11 d mreq64 0d11 d pad(26) 0g19 d pad64(63) 0e11 d mserr 0a15 d pad(27) 0e20 d pb0eprm 0v17 n mstop 0d17 d pad(28) 0f19 d pb0phy1 ac22 n mtrdy 0b17 d pad(29) 0e19 d pb0phy2 ab19 n nc aa20 pad(30) 0c20 d pbaddr16 0w17 n nc 0w18 pad(31) 0a20 d pbaddr17 0y17 n nc aa19 pad64(32) 0c04 d pbale1 aa18 n nc ab21 pad64(33) 0d05 d pbale2 0u16 n nc 0y19 pad64(34) 0a06 d pbdata(0) 0w21 j nc ac20 pad64(35) 0c06 d pbdata(1) 0u18 j nselft ac05 t pad64(36) 0e06 d pbdata(2) 0w20 j pad(0) 0c13 d pad64(37) 0e07 d pbdata(3) 0v19 j table 38: signal pin listing by signal name (page 3 of 5) signal name grid position library element signal name grid position library element signal name grid position library element
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page 638 of 706 pnr261_26elec.fm.06 august 14, 2000 pbdata(4) ab23 j pmaddr(0) aa04 c pmdata(10) 0w11 c pbdata(5) 0y21 j pmaddr(1) 0w06 c pmdata(11) ab09 c pbdata(6) 0w19 j pmaddr(2) 0y05 c pmdata(12) aa10 c pbdata(7) aa22 j pmaddr(3) 0t09 c pmdata(13) ad09 c pbintra ae20 n pmaddr(4) 0v07 c pmdata(14) 0v11 c pbphyrst ad19 n pmaddr(5) 0r10 c pmdata(15) ac09 c pbrdrdy 0w16 n pmaddr(6) 0w05 c pmdata(16) ad07 c pbrnwrt ac18 n pmaddr(7) 0u08 c pmdata(17) ac08 c pbsclk 0t15 n pmaddr(8) ab03 c pmdata(18) ae08 c pbsdata ab17 j pmaddr(9) 0r09 c pmdata(19) 0w10 c pcbe(0) 0b15 d pmaddr(10) 0y03 c pmdata(20) 0u11 c pcbe(1) 0a17 d pmaddr(11) 0y01 c pmdata(21) 0t11 c pcbe(2) 0b19 d pmaddr(12) 0u07 c pmdata(22) 0y09 c pcbe(3) 0d19 d pmaddr(13) 0w04 c pmdata(23) aa09 c pcbe64(4) 0a12 d pmaddr(14) 0v05 c pmdata(24) aa08 c pcbe64(5) 0c12 d pmaddr(15) 0u05 c pmdata(25) ab07 c pcbe64(6) 0l12 d pmaddr(16) 0u06 c pmdata(26) 0w09 c pcbe64(7) 0c11 d pmaddr(17) 0p11 c pmdata(27) ae06 c pciclk 0g25 pll pmaddr(18) 0p09 c pmdata(28) ac06 c pdblclk 0y23 n pmaddr(19) 0t07 c pmdata(29) 0u10 c pffcfg(0) 0g01 t pmaddr(20) 0v03 c pmdata(30) 0u09 c pffcfg(1) 0g03 t pmclk(0) 0p01 b pmdata(31) 0y07 c pffcfg(2) 0c05 t pmclk(1) 0r01 b pmdata(32) aa07 c pffosc 0e03 t pmclk(2) 0t01 b pmdata(33) 0v09 c pidsel 0g17 d pmclk(3) 0u01 b pmdata(34) aa06 c pintclk 0t17 n pmclk(4) 0v01 b pmdata(35) 0w08 c plltune(0) 0g23 p pmclke ac11 c pmdata(36) ab05 c plltune(1) 0e23 p pmdata(0) ab11 c pmdata(37) 0w07 c pm0cs (0) 0r14 c pmdata(1) ae10 c pmdata(38) ac04 c pm0cs (1) ac15 c pmdata(2) ae12 c pmsyncas (0) 0v15 c pm0cs (2) ad15 c pmdata(3) ac12 c pmsyncas(1) aa16 c pm0cs (3) ae13 c pmdata(4) aa11 c pmsynras (0) 0w15 c pm0dqm (0) 0y13 c pmdata(5) 0u12 c pmsynras (1) ae17 c pm0dqm (1) 0v13 c pmdata(6) ae09 c pmwe (0) 0r12 c pm0dqm (2) 0u13 c pmdata(7) 0y11 c pmwe (1) ac13 c pm0dqm (3) ad11 c pmdata(8) ae11 c ppar 0f15 d pm66en 0a19 e pmdata(9) ac10 c ppar64 0b11 d table 38: signal pin listing by signal name (page 4 of 5) signal name grid position library element signal name grid position library element signal name grid position library element
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 page 639 of 706 ppllout 0u17 j rts 0m07 o testm 0e01 w ppllti 0w12 v rxclk ae07 t txclk ac07 t pvdda 0e25 pll rxd 0m05 t txd 0p05 o table 39: 2.5v v dd pins signal name grid position library element signal name grid position library element signal name grid position library element vdd2500 0b04 y vdd2516 0m06 y vdd2532 0t12 y vdd2501 0b14 y vdd2517 0m10 y vdd2533 0t14 y vdd2502 0b22 y vdd2518 0m13 y vdd2534 0v02 y vdd2503 0d10 y vdd2519 0m16 y vdd2535 0v24 y vdd2504 0d16 y vdd2520 0m20 y vdd2536 0y04 y vdd2505 0f04 y vdd2521 0m24 y vdd2537 0y08 y vdd2506 0f08 y vdd2522 0n05 y vdd2538 0y18 y vdd2507 0f18 y vdd2523 0n12 y vdd2539 0y22 y vdd2508 0f22 y vdd2524 0n14 y vdd2540 ab10 y vdd2509 0h02 y vdd2525 0p06 y vdd2541 ab13 y vdd2510 0h24 y vdd2526 0p10 y vdd2542 ab16 y vdd2511 0k12 y vdd2527 0p13 y vdd2543 ac16 y vdd2512 0k14 y vdd2528 0p16 y vdd2544 ad04 y vdd2513 0l11 y vdd2529 0p20 y vdd2545 ad14 y vdd2514 0l15 y vdd2530 0r11 y vdd2546 ad22 y vdd2515 0m02 y vdd2531 0r15 y vdd2547 ae02 y table 38: signal pin listing by signal name (page 5 of 5) signal name grid position library element signal name grid position library element signal name grid position library element
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page 640 of 706 pnr261_26elec.fm.06 august 14, 2000 table 40: 3.3v v dd pins signal name grid position library element signal name grid position library element signal name grid position library element vdd3300 0b08 z vdd3314 0h16 z vdd3328 0v10 z vdd3301 0b12 z vdd3315 0h20 z vdd3329 0v16 z vdd3302 0b18 z vdd3316 0k04 z vdd3330 0v20 z vdd3303 0d02 z vdd3317 0k08 z vdd3331 0y12 z vdd3304 0d06 z vdd3318 0k18 z vdd3332 0y14 z vdd3305 0d20 z vdd3319 0k22 z vdd3333 ab02 z vdd3306 0d24 z vdd3320 0n17 z vdd3334 ab06 z vdd3307 0e13 z vdd3321 0p02 z vdd3335 ab20 z vdd3308 0f12 z vdd3322 0p24 z vdd3336 ab24 z vdd3309 0f14 z vdd3323 0t04 z vdd3337 ad08 z vdd3310 0f25 z vdd3324 0t08 z vdd3338 ad12 z vdd3311 0g24 z vdd3325 0t18 z vdd3339 ad18 z vdd3312 0h06 z vdd3326 0t22 z vdd3313 0h10 z vdd3327 0v06 z
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 page 641 of 706 table 41: ground pins signal name grid position library element signal name grid position library element signal name grid position library element gnd00 0b02 x gnd29 0k02 x gnd58 0t16 x gnd01 0b06 x gnd30 0k06 x gnd59 0t20 x gnd02 0b10 x gnd31 0k10 x gnd60 0t24 x gnd03 0b16 x gnd32 0k16 x gnd61 0v04 x gnd04 0b20 x gnd33 0k20 x gnd62 0v08 x gnd05 0b24 x gnd34 0k24 x gnd63 0v12 x gnd06 0d04 x gnd35 0l13 x gnd64 0v14 x gnd07 0d08 x gnd36 0m04 x gnd65 0v18 x gnd08 0d12 x gnd37 0m08 x gnd66 0v22 x gnd09 0d14 x gnd38 0m12 x gnd67 0y02 x gnd10 0d18 x gnd39 0m14 x gnd68 0y06 x gnd11 0d22 x gnd40 0m18 x gnd69 0y10 x gnd12 0d25 x gnd41 0m22 x gnd70 0y16 x gnd13 0f02 x gnd42 0n11 x gnd71 0y20 x gnd14 0f06 x gnd43 0n13 x gnd72 0y24 x gnd15 0f10 x gnd44 0n15 x gnd73 aa15 x gnd16 0f16 x gnd45 0n16 x gnd74 ab04 x gnd17 0f20 x gnd46 0n18 x gnd75 ab08 x gnd18 0f23 x gnd47 0p04 x gnd76 ab12 x gnd19 0f24 x gnd48 0p08 x gnd77 ab14 x gnd20 0h04 x gnd49 0p12 x gnd78 ab18 x gnd21 0h08 x gnd50 0p14 x gnd79 ab22 x gnd22 0h12 x gnd51 0p18 x gnd80 ad02 x gnd23 0h14 x gnd52 0p22 x gnd81 ad03 x gnd24 0h18 x gnd53 0r13 x gnd82 ad06 x gnd25 0h19 x gnd54 0t02 x gnd83 ad10 x gnd26 0h22 x gnd55 0t06 x gnd84 ad16 x gnd27 0j12 x gnd56 0t10 x gnd85 ad20 x gnd28 0j14 x gnd57 0t13 x gnd86 ad24 x
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page 642 of 706 pnr261_26elec.fm.06 august 14, 2000 table 42: library element definitions (page 1 of 2) ele- ment name insta nces description v il (v) v ih (v) i il (@0v) max i ih (@v dd ) max v oh (v) min v ol (v) min i oh (ma) min i ol (ma) min note min max min max a86 -5.0v-tolerant pci non-test three-state cio 0.00.82.05.5 >0 <0 2.4 0.5 - - b14 -3.3v lvttl test 35 ohm three-state cio 0.0 0.8 2.0 v dd + 0.6 002.40.4 13.0/ 12.0 9.0 c51 -3.3v lvttl non-test 35 ohm three-state cio 0.0 0.8 2.0 v dd + 0.6 002.40.4 13.0/ 12.0 9.0 d3 -3.3v lvttl test 50 ohm three-state cio w/pull-up 0.0 0.8 2.0 v dd + 0.6 -250 a 0 2.4 0.4 10.0 7.0 e16 -3.3v lvttl non-test 50 ohm three-state cio w/pull-up 0.0 0.8 2.0 v dd + 0.6 -250 a 0 2.4 0.4 10.0 7.0 f4 -3.3v lvttl test 50 ohm three-state cio 0.0 0.8 2.0 v dd + 0.6 0 0 2.4 0.4 10.0 7.0 g52 -3.3v lvttl non-test 50 ohm three-state cio 0.0 0.8 2.0 v dd + 0.6 0 0 2.4 0.4 10.0 7.0 h77 -5.0v-tolerant lvttl non-test 50 ohm three-state cio 0.00.82.05.5 0 0 2.4 0.4 13.0/ 12.0 9.0 j3 -5.0v-tolerant lvttl non-test 50 ohm three-state cio w/pull-down 0.00.82.05.5 0 400 a 2.4 0.4 10.0 7.0 k8 -5.0v-tolerant lvttl test 50 ohm three-state cio w/pull-up 0.00.82.05.5 -250 a 0 2.4 0.4 10.0 7.0 l13 -5.0v-tolerant lvttl non-test 50 ohm three-state cio w/pull-up 0.00.82.05.5 -250 a 0 2.4 0.4 10.0 7.0 m12 -5.0v-tolerant lvttl non-test 50 ohm three-state cio 0.0 0.8 2.0 5.5 0 0 2.4 0.4 10.0 7.0 n3 -3.3v sti non-test differential receiver -0.5 v ref +0.5 v ref +0.5 v ddq +0.3 0 0 ---- 1 p1 -3.3v sti non-test differential driver v oh minimum voltage: v ddq = -0.4v v ol maximum voltage = 0.4v 10.0 7.0 1 q1 -3.3v lvttl test di1 receiver w/pull-up 0.0 0.8 2.0 v dd + 0.6 0 400 a ---- r1 -3.3v lvttl test di2 receiver w/pull-up 0.0 0.8 2.0 v dd + 0.6 0 400 a ---- s4 -3.3v lvttl test receiver w/pull-up 0.0 0.8 2.0 v dd + 0.6 0 400 a ---- 1. v ref = differential input voltage. v ddq = output supply voltage.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 page 643 of 706 t 1 -3.3v lvttl test ri receiver 0.0 0.8 2.0 v dd + 0.6 0 400 a ---- v1 -5.0v-tolerant lvttl test lt w/pull-up 0.00.82.05.5 0 400 a ---- w23 -5.0v-tolerant lvttl test receiver w/pull-up 0.00.82.05.5 0 400 a ---- x2 -5.0v-tolerant lvttl test receiver 0.00.82.05.5 0 0 - - - - z 4 -3.3v non-test 20 ohm 0.0 0.8 2.0 v dd + 0.6 002.40.4 23.0/ 12.0 16.0 pll 3 pll (phase locked loop that connects at i/o pads) 0.0 0.8 2.0 v dd + 0.6 0 0 ---- table 42: library element definitions (page 2 of 2) ele- ment name insta nces description v il (v) v ih (v) i il (@0v) max i ih (@v dd ) max v oh (v) min v ol (v) min i oh (ma) min i ol (ma) min note min max min max 1. v ref = differential input voltage. v ddq = output supply voltage.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page 644 of 706 pnr261_26elec.fm.06 august 14, 2000 5. ac timing characteristics table 43: i/o pci bus timing (page 1 of 2) description min max units pciclk high to pad(31:0) 2 6 ns pciclk high to ppar 2 6 ns pciclk high to pcbe(3:0) 2 6 ns pciclk high to mframe 26ns pciclk high to mtrdy 26ns pciclk high to mirdy 26ns pciclk high to mstop 26ns pciclk high to mdevsel 26ns pciclk high to mreq 26ns pciclk high to mperr 26ns pciclk high to mserr 26ns pciclk high to minta 26ns pciclk high to mint2 26ns pciclk high to mreq64 26ns pciclk high to ppar64 2 6 ns pciclk high to pad64(63:32) 2 6 ns pciclk high to mack64 2 6 ns mframe to pciclk setup 3 ? ns mframe to pciclk hold 0 ? ns pcbe(3:0) to pciclk setup 3 ? ns pcbe(3:0) to pciclk hold 0 ? ns pad(31:0) to pciclk setup 3 ? ns pad(31:0) to pciclk hold 0 ? ns ppar to pciclk setup 3 ? ns ppar to pciclk hold 0 ? ns mperr to pciclk setup 3 ? ns mperr to pciclk hold 0 ? ns pidsel to pciclk setup 3 ? ns pidsel to pciclk hold 0 ? ns mdevsel to pciclk setup 3 ? ns mdevsel to pciclk hold 0 ? ns mtrdy to pciclk setup 3 ? ns mtrdy to pciclk hold 0 ? ns mirdy to pciclk setup 3 ? ns mirdy to pciclk hold 0 ? ns
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 page 645 of 706 mstop to pciclk setup 3 ? ns mstop to pciclk hold 0 ? ns mgnt to pciclk setup 3 ? ns mgnt to pciclk hold 0 ? ns pcbe64(7:4) to pciclk setup 3 ? ns pcbe64(7:4) to pciclk hold 0 ? ns table 44: memory timing description min max units cmclk high to cmaddr (20:0) 1 5.5 ns cmclk high to cmsynras (1:0) 1 5.5 ns cmclk high to cmsyncas (1:0) 1 5.5 ns cmclk high to cm0dqm (3:0) 1 5.5 ns cmclk high to cm0cs (3:0) 1 5.5 ns cmclk high to cmwe (1:0) 1 5.5 ns cmclk high to cmclke 1 5.5 ns cmclk high to cmdata (38:0) - write 1 5.5 ns cmdata (38-0) to cmclk setup - read 2.1 ? ns cmdata (38-0) to cmclk hold - read 1.5 ? ns pmclk high to pmaddr (20:0) 1 5.5 ns pmclk high to pmsynras (1:0) 1 5.5 ns pmclk high to pmsyncas (1:0) 1 5.5 ns pmclk high to pm0dqm (3:0) 1 5.5 ns pmclk high to pm0cs (3:0) 1 5.5 ns pmclk high to pmwe (1:0) 1 5.5 ns pmclk high to pmclke 1 5.5 ns pmclk high to pmdata (38:0) - write 1 5.5 ns pmdata (38-0) to pmclk setup - read 2.1 ? ns pmdata (38-0) to pmclk hold - read 1.5 ? ns table 43: i/o pci bus timing (page 2 of 2) description min max units
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page 646 of 706 pnr261_26elec.fm.06 august 14, 2000 table 45: npbus timing description min max units pintclk high to pbdata(7:0) 2 6 ns pintclk high to pbdatap 2 6 ns pintclk high to pbrnwrt 2 6 ns pintclk high to pbrdrdy 2 6 ns pintclk high to pbaddr(15:0) 2 6 ns pbdata(7:0) to pintclk setup 15 ? ns pbdata(7:0) to pintclk hold 0 ? ns pbdatap to pintclk setup 15 ? ns pbdatap to pintclk hold 0 ? ns pbrdrdy to pintclk setup 15 ? ns pbrdrdy to pintclk hold 0 ? ns pbrnwrt to pintclk setup 15 ? ns pbrnwrt to pintclk hold 0 ? ns
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 page 647 of 706 table 46: phy timing description min max units fytwrb high to fytdat(15:0) 2 10 ns fytwrb high to fytpar(1:0) 2 10 ns fytwrb high to fytsoc, fy0tenb , fytmod, fyteop, fytadr(4:0) 210 ns fytca to fytwrb setup 3 ? ns fytca to fytwrb hold 1 ? ns fy0ful to fytwrb setup 3 ? ns fy0ful to fytwrb hold 1 ? ns fyrrdb high to fy0renb , fyradr(4:0) 2 10 ns fyrdat(15:0) to fyrrdb setup 3 ? ns fyrdat(15:0) to fyrrdb hold 1 ? ns fyrpar(1:0) to fyrrdb setup 3 ? ns fyrpar(1:0) to fyrrdb hold 1 ? ns fyrsoc to fyrrdb setup 3 ? ns fyrsoc to fyrrdb hold 1 ? ns fy0ful to fyrrdb setup 3 ? ns fy0ful to fyrrdb hold 1 ? ns fy0emp to fyrrdb setup 3 ? ns fy0emp to fyrrdb hold 1 ? ns fy0discrd to fyrrdb setup 3 ? ns fy0discrd to fyrrdb hold 1 ? ns fydtct to fyrrdb setup 3 ? ns fydtct to fyrrdb hold 1 ? ns fyrca to fyrrdb setup 3 ? ns fyrca to fyrrdb hold 1 ? ns fyrmod to fyrrdb setup 3 ? ns fyrmod to fyrrdb hold 1 ? ns fyreop to fyrrdb setup 3 ? ns fyreop to fyrrdb hold 1 ? ns
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page 648 of 706 pnr261_26elec.fm.06 august 14, 2000 figure 38: sdram read cycle (1 of 2) xxxxxxxx t1 t2 t3 t4 t5 t6 t7 t8 zzzzzzzz zzzzzzzz data out xxxxxxxx row col cas latency=2, burst length=2 cmclk cm0dqm cmwe cmsyncas cm0cs cmsynras cmaddr cm0cs (4:0) (1:0) (1:0) (1:0) (3:0) (3:2) cmdata bank address t9
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 page 649 of 706 figure 39: sdram read cycle (2 of 2) 12345 67 cas latency=3, burst length=2 89 row xxx col xxxxxxxx zzzzzzzzzz data out zzzzz cmclk cm0dqm cmwe cmsyncas cm0cs cmsynras cmaddr cm0cs (4:0) (1:0) (1:0) (1:0) (3:0) (3:2) cmdata bank address
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page 650 of 706 pnr261_26elec.fm.06 august 14, 2000 figure 40: sdram write cycle (1 of 2) data t1 t2 t3 t4 t5 t6 t7 cas latency=2, burst length=2 xxxxxxxx row col xxxxxxxxx zzzzzzzzzz zzzzzzzzzzz 00000000 cmclk cm0dqm cmwe cmsyncas cm0cs cmsynras cmaddr cm0cs (4:0) (1:0) (1:0) (1:0) (3:0) (3:2) cmdata bank address t8 t9
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 page 651 of 706 figure 41: sdram write cycle (2 of 2) t9 t1 t2 t3 t4 t5 t6 t7 cas latency=3, burst length=2 t8 xxxxxxxx row col xxxxxxx zzzzzzzz 00000000 data zzzzzzzz cmclk cm0dqm cmwe cmsyncas cm0cs cmsynras cmaddr cm0cs (4:0) (1:0) (1:0) (1:0) (3:0) (3:2) cmdata bank address
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary page 652 of 706 pnr261_26elec.fm.06 august 14, 2000 figure 42: sdram write of 64-byte burst with cas latency=2 cas latency=2, burst length=2 t1 t2 t3 t4 t5 t17 t18 xx row col0 xxx col2 zzzzzzzz data 0 data 1 data 2 t19 t20 t21 t22 t23 t24 t25 data 14 data 15 zzzzzzzz col 14 xxx xxxxxxxx t6 cmclk cm0dqm cmwe cmsyncas cm0cs cmsynras cmaddr cm0cs (4:0) (1:0) (1:0) (1:0) (3:0) (3:2) cmdata bank address y bank address x bank address x
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 page 653 of 706 figure 43: sdram write of 64-byte burst with cas latency=3 cas latency=3, burst length=2 t1 t2 t3 t4 t5 t18 t19 xx t20 t21 t22 data 14 data 15 t6 xxxxxxxx t23 col 0 row xxx col 14 xxx zzzzzzzz data 1 data 0 zzzzzzzz cmclk cm0dqm cmwe cmsyncas cm0cs cmsynras cmaddr cm0cs (4:0) (1:0) (1:0) (1:0) (3:0) (3:2) cmdata bank address col 2
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sram timing diagrams page 654 of 706 pnr261_26elec.fm.06 august 14, 2000 5.1 sram timing diagrams figure 44: sram read cycle cmclk (4:0) cmwe cmaddr cmdata (35:0) zzzzzzzz xxxxxxxx zzz 56 1234 addr xxxxxxxx cm0cs cmsynras (1:0) data (bit 1) (bit 0) cmsyncas (1:0)
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 sram timing diagrams page 655 of 706 figure 45: sram write cycle f xxxxxxxx addr t5 t6 t1 t2 t3 t4 zzzzzzzz data zzzzzzzz f 0 cmclk (4:0) cmwe cmaddr cmdata (35:0) cm0cs cmsynras (1:0) (bit 1) (bit 0) cmsyncas (1:0)
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary sram timing diagrams page 656 of 706 pnr261_26elec.fm.06 august 14, 2000 figure 46: sram read cycle with byte enables 56 1234 f addr 0 zzzzzzzz xxxxxxxx f zzzzzzzz data xxxxxxxx cmclk (4:0) cmwe cmaddr cmdata (35:0) cm0cs cmsynras (1:0) (bit 1) (bit 0) cmsyncas (1:0)
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 sram timing diagrams page 657 of 706 figure 47: sram write cycle with byte enables t5 t6 t1 t2 t3 t4 data zzzzzzzz f addr 0 zzzzzzzz xxxxxxxx f cmclk (4:0) cmwe cmaddr cmdata (35:0) cm0cs cmsynras (1:0) (bit 1) (bit 0) cmsyncas (1:0)
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary eprom timing diagrams page 658 of 706 pnr261_26elec.fm.06 august 14, 2000 5.2 eprom timing diagrams figure 48: parallel eprom read t1 t3 t5 t7 t9 pintclk pb0phy1 pbaddr16 pbaddr17 pbrnwrt pdrdrdy pb0eprm pbdata t11 t13 t15 t17 (7:0) ? 1 ? hi-z data address enstate (47:32) (address 15:0) t19 hi-z :h or l
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 eprom timing diagrams page 659 of 706 figure 49: parallel eprom write t1 t3 t5 t7 t9 t11 t13 t15 t17 pintclk pb0phy1 pbaddr16 pbaddr17 pbrnwrt pdrdrdy pb0eprm pbdata (7:0) address enstate (47:32) (address 15:0) :h or l data
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary eprom timing diagrams page 660 of 706 pnr261_26elec.fm.06 august 14, 2000 figure 50: serial eprom read serial eprom read follows i2c bus protocol pbsdata is single sequence split over several lines) pbsclk pbsdata pbsdata pbsdata pbsdata (continued) (continued) (continued)
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 eprom timing diagrams page 661 of 706 figure 51: serial eprom write pbsclk pbsdata pbsdata pbsdata (continued) (continued) serial eprom write follows i2c bus protocol pbsdata is single sequence split over several lines)
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary phy timing diagrams page 662 of 706 pnr261_26elec.fm.06 august 14, 2000 5.3 phy timing diagrams figure 52: phy read t1 t3 t5 t7 t9 t21 t22 t23 t24 pintclk pb0phy1 pbaddr16 pbaddr17 pbrnwrt pdrdrdy pbdata (7:0) enstate (47:32) (address 15:0) address pb0eprm data hi-z :h or l
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 phy timing diagrams page 663 of 706 figure 53: phy write t1 t3 t5 t7 t9 pintclk pbaddr16 pbaddr17 pbrnwrt pbrdrdy pbdata t21 t22 t23 t24 (7:0) address pb0phy1 pb0eprm enstate (47:32) (address 15:0) :h or l data
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary phy timing diagrams page 664 of 706 pnr261_26elec.fm.06 august 14, 2000 6. electrical ratings table 47: absolute maximum ratings parameter rating unit note supply voltage, v dd250 2.3 to 2.7 v 1 supply voltage, v dd330 3.0 to 3.6 v 1 storage temperature -65 to 150 c1 ambient temperature with power applied -40 to 100 c1 1. these are the maximum ratings that can be applied to the device without damage. the device function and specifications are va lid only within the recommended operating conditions. table 48: recommended operating conditions parameter rating unit junction temperature 0 to 85 c supply voltage, v dd250 , with respect to ground 2.6 2% v supply voltage, v dd330 , with respect to ground 3.3 5% v table 49: power dissipation parameter rating unit v dd250 (nominal) 6w v dd330 (nominal) 2w
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 phy timing diagrams page 665 of 706 table 50: dc electrical characteristics l (page 1 of 8) (0c t a 85 c; v d d250 = 2.5v 0.2v, v dd330 = 3.3v 0.3v) symbol library element parameter and conditions min max units v il input low voltage a b c 2.5v cmos non-test 35 ohm three-state cio 2.5v cmos (3.3v protected) nontest 20 ohm three-state cio 2.5v cmos (3.3v protected) nontest 35 ohm three-state cio -.06 0.7 v d e f g h i j k l m n o p q r s t u v w pll 3.3v/5v-tolerant pci nontest three-state cio 3.3v/5v-tolerant pci test three-state cio 3.3v lvttl nontest 20 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) 3.3v lvttl test 50 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl test 50 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test 50 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test 65 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test di1 receiver w/pull-up 3.3v lvttl test di2 receiver w/pull-up 3.3v lvttl leakage test receiver w/pull-up 3.3v lvttl test receiver w/pull-up 3.3v lvttl test ri/tt receiver 3.3v lvttl test receiver 3.3v lvttl test reference enable (te) receiver w/pull-down phase locked loop that connects at i/o pads -0.6 0.8 v x y z programmable ground programmable v dd250 programmable v dd330 --
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary phy timing diagrams page 666 of 706 pnr261_26elec.fm.06 august 14, 2000 v ih input high voltage a 2.5v cmos non-test 35 ohm three-state cio 1.7 v dd +0.6 v d e 3.3v/5v-tolerant pci nontest three-state cio 3.3v/5v-tolerant pci test three-state cio 25.5v b c f g h i j k l m n o p q r s t u v w pll 2.5v cmos (3.3v protected) nontest 20 ohm three-state cio 2.5v cmos (3.3v protected) nontest 35 ohm three-state cio 3.3v lvttl nontest 20 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) 3.3v lvttl test 50 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl test 50 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test 50 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test 65 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test di1 receiver w/pull-up 3.3v lvttl test di2 receiver w/pull-up 3.3v lvttl leakage test receiver w/pull-up 3.3v lvttl test receiver w/pull-up 3.3v lvttl test ri/tt receiver 3.3v lvttl test receiver 3.3v lvttl test reference enable (te) receiver w/pull-down phase locked loop that connects at i/o pads 2 v dd 2 + 0.6 v x y z programmable ground programmable v dd250 programmable v dd330 --- table 50: dc electrical characteristics l (page 2 of 8) (0 c t a 85 c; v d d250 = 2.5v 0.2v, v dd330 = 3.3v 0.3v) symbol library element parameter and conditions min max units
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 phy timing diagrams page 667 of 706 i il (@0v) input low current a b c f g h j k l m q r s t u v pll 2.5v cmos non-test 35 ohm three-state cio 2.5v cmos (3.3v protected) nontest 20 ohm three-state cio 2.5v cmos (3.3v protected) nontest 35 ohm three-state cio 3.3v lvttl nontest 20 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) 3.3v lvttl test 50 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl test 50 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl test di1 receiver w/pull-up 3.3v lvttl test di2 receiver w/pull-up 3.3v lvttl leakage test receiver w/pull-up 3.3v lvttl test receiver w/pull-up 3.3v lvttl test ri/tt receiver 3.3v lvttl test receiver phase locked loop that connects at i/o pads 0 a i n o p w 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test 50 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test 65 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test reference enable (te) receiver w/pull-down -250 a d e 3.3v/5v-tolerant pci nontest three-state cio 3.3v/5v-tolerant pci test three-state cio >0 a x y z programmable ground programmable v dd250 programmable v dd330 -- table 50: dc electrical characteristics l (page 3 of 8) (0 c t a 85 c; v d d250 = 2.5v 0.2v, v dd330 = 3.3v 0.3v) symbol library element parameter and conditions min max units
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary phy timing diagrams page 668 of 706 pnr261_26elec.fm.06 august 14, 2000 i ih (@v dd ) input high current a b c f g i j k n o p w pll 2.5v cmos non-test 35 ohm three-state cio 2.5v cmos (3.3v protected) nontest 20 ohm three-state cio 2.5v cmos (3.3v protected) nontest 35 ohm three-state cio 3.3v lvttl nontest 20 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) 3.3v lvttl test 50 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test 50 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test 65 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test reference enable (te) receiver w/pull-down phase locked loop that connects at i/o pads 0 a h l m q r s t u v 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl test 50 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl test di1 receiver w/pull-up 3.3v lvttl test di2 receiver w/pull-up 3.3v lvttl leakage test receiver w/pull-up 3.3v lvttl test receiver w/pull-up 3.3v lvttl test ri/tt receiver 3.3v lvttl test receiver 400ua a d e 3.3v/5v-tolerant pci nontest three-state cio 3.3v/5v-tolerant pci test three-state cio <0 a x y z programmable ground programmable v dd250 programmable v dd330 - ? table 50: dc electrical characteristics l (page 4 of 8) (0 c t a 85 c; v d d250 = 2.5v 0.2v, v dd330 = 3.3v 0.3v) symbol library element parameter and conditions min max units
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 phy timing diagrams page 669 of 706 v oh output high voltage a b c 2.5v cmos non-test 35 ohm three-state cio 2.5v cmos (3.3v protected) nontest 20 ohm three-state cio 2.5v cmos (3.3v protected) nontest 35 ohm three-state cio 2 v d e f g h i j k l m n o p 3.3v/5v-tolerant pci nontest three-state cio 3.3v/5v-tolerant pci test three-state cio 3.3v lvttl nontest 20 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) 3.3v lvttl test 50 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl test 50 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test 50 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test 65 ohm three-state cio (3.3v rec) w/pull-up 2.4 v q r s t u v w x y z pll 3.3v lvttl test di1 receiver w/pull-up 3.3v lvttl test di2 receiver w/pull-up 3.3v lvttl leakage test receiver w/pull-up 3.3v lvttl test receiver w/pull-up 3.3v lvttl test ri/tt receiver 3.3v lvttl test receiver 3.3v lvttl test reference enable (te) receiver w/pull-down programmable ground programmable v dd250 programmablev dd330 phase locked loop that connects at i/o pads -v table 50: dc electrical characteristics l (page 5 of 8) (0 c t a 85 c; v d d250 = 2.5v 0.2v, v dd330 = 3.3v 0.3v) symbol library element parameter and conditions min max units
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary phy timing diagrams page 670 of 706 pnr261_26elec.fm.06 august 14, 2000 v ol output low voltage a b c f g h i j k l m n o p 2.5v cmos non-test 35 ohm three-state cio 2.5v cmos (3.3v protected) nontest 20 ohm three-state cio 2.5v cmos (3.3v protected) nontest 35 ohm three-state cio 3.3v lvttl nontest 20 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) 3.3v lvttl test 50 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl test 50 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test 50 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test 65 ohm three-state cio (3.3v rec) w/pull-up 0.4 v d e 3.3v/5v-tolerant pci nontest three-state cio 3.3v/5v-tolerant pci test three-state cio 0.5 v q r s t u v w x y z pll 3.3v lvttl test di1 receiver w/pull-up 3.3v lvttl test di2 receiver w/pull-up 3.3v lvttl leakage test receiver w/pull-up 3.3v lvttl test receiver w/pull-up 3.3v lvttl test ri/tt receiver 3.3v lvttl test receiver 3.3v lvttl test reference enable (te) receiver w/pull-down programmable ground programmable v dd250 programmable v dd330 phase locked loop that connects at i/o pads -v table 50: dc electrical characteristics l (page 6 of 8) (0 c t a 85 c; v d d250 = 2.5v 0.2v, v dd330 = 3.3v 0.3v) symbol library element parameter and conditions min max units
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261_26elec.fm.06 august 14, 2000 phy timing diagrams page 671 of 706 i oh output high current p 3.3v lvttl test 65 ohm three-state cio (3.3v rec) w/pull-up 09/19 ma a c 2.5v cmos non-test 35 ohm three-state cio 2.5v cmos (3.3v protected) nontest 35 ohm three-state cio 10/18 ma j k l m n o 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) 3.3v lvttl test 50 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl test 50 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test 50 ohm three-state cio (3.3v rec) w/pull-up 12/19 ma b 2.5v cmos (3.3v protected) nontest 20 ohm three-state cio 19/18 ma g h i 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) w/pull-up 19/19 ma f 3.3v lvttl nontest 20 ohm three-state cio (3.3v rec) 40/19 ma d e q r s t u v w x y z pll 3.3v/5v-tolerant pci nontest three-state cio 3.3v/5v-tolerant pci test three-state cio 3.3v lvttl test di1 receiver w/pull-up 3.3v lvttl test di2 receiver w/pull-up 3.3v lvttl leakage test receiver w/pull-up 3.3v lvttl test receiver w/pull-up 3.3v lvttl test ri/tt receiver 3.3v lvttl test receiver 3.3v lvttl test reference enable (te) receiver w/pull-down programmable ground programmable v dd250 programmable v dd330 phase locked loop that connects at i/o pads -ma table 50: dc electrical characteristics l (page 7 of 8) (0 c t a 85 c; v d d250 = 2.5v 0.2v, v dd330 = 3.3v 0.3v) symbol library element parameter and conditions min max units
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary phy timing diagrams page 672 of 706 pnr261_26elec.fm.06 august 14, 2000 i ol output low current g h i 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl nontest 35 ohm three-state cio (3.3v rec) w/pull-up 12/19 ma a c 2.5v cmos non-test 35 ohm three-state cio 2.5v cmos (3.3v protected) nontest 35 ohm three-state cio 13/18 ma f 3.3v lvttl nontest 20 ohm three-state cio (3.3v rec) 25/19 ma b 2.5v cmos (3.3v protected) nontest 20 ohm three-state cio 26/18 ma p 3.3v lvttl test 65 ohm three-state cio (3.3v rec) w/pull-up 6/19 ma j k l m n o 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) 3.3v lvttl test 50 ohm three-state cio (3.3v rec) 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl test 50 ohm three-state cio (3.3v rec) w/pull-down 3.3v lvttl nontest 50 ohm three-state cio (3.3v rec) w/pull-up 3.3v lvttl test 50 ohm three-state cio (3.3v rec) w/pull-up 8/19 ma d e q r s t u v w x y z pll 3.3v/5v-tolerant pci nontest three-state cio 3.3v/5v-tolerant pci test three-state cio 3.3v lvttl test di1 receiver w/pull-up 3.3v lvttl test di2 receiver w/pull-up 3.3v lvttl leakage test receiver w/pull-up 3.3v lvttl test receiver w/pull-up 3.3v lvttl test ri/tt receiver 3.3v lvttl test receiver 3.3v lvttl test reference enable (te) receiver w/pull-down programmable ground programmable v dd250 programmable v dd330 phase locked loop that connects at i/o pads -ma v icm differential common mode voltage da low-voltage diff signals wide common mode receiver with terminator - db 2.5v sti non-test differential driver 1.25+-0.2 v dds driver output differential voltage swing da low-voltage diff signals wide common mode receiver with terminator - db 2.5v sti non-test differential driver 1.0+-0.2 table 50: dc electrical characteristics l (page 8 of 8) (0 c t a 85 c; v d d250 = 2.5v 0.2v, v dd330 = 3.3v 0.3v) symbol library element parameter and conditions min max units
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 packet header page 673 of 706 7. application notes: data structures these structures reside in control memory for each of the logical channels that are set up for transmission or reception. 7.1 packet header each packet buffer consists of two parts. the first part is the control information used by the pnr. the sec- ond portion of the packet buffer is used to hold the actual packet data. the following figures show the struc- ture of the transmit and receive packet headers: the minimum transmit packet header size (and transmit offset) is x ? c ? bytes. see 3.14.6.8: rxaal packet header configuration on page 335 for available word choices and definitions. figure 54: transmit packet header structure struct tx_min_packhead { struct tx_packhead { bit32 next_buffer; bit32 next_buffer; bit8 aal5_user_byte1; bit8 aal5_user_byte; bit8 buffer_offset; bit8 buffer_offset; bit16 buffer_length; bit16 buffer_length; bit25 lc_address; bit25 lc_address; bit1 efci_status; bit1 efci_status; bit1 reserved; bit1 reserved; bit1 dma_on_xmit; bit1 dma_on_xmit; bit1 generate_crc10; bit1 generate_crc10; bit1 free_on_xmit; bit1 free_on_xmit; bit1 queue_on_xmit; bit1 queue_on_xmit; bit1 cell_loss_priority; bit1 cell_loss_priority; }; bit32 dma_desc_addr; bit16 aal5_user_byte1_2; bit16 reserved }; figure 55: receive packet header structure struct rx_packhead { bit32 rx_label_flags; bit8 aal5_user_byte1; bit8 buffer_offset; bit16 buffer_length; bit25 lc_address; bit1 efci_status; bit5 reserved; bit1 cell_loss_priority; bit32 optional_words[7]; };
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary packet header page 674 of 706 pnr261appnotes.fm.06 august 14, 2000 the minimum receive packet offset is x ? c ? bytes. when the optional fields are enabled, the receive packet off- set increases and should be set appropriately in the receive lcd. see 3.14.6.8: rxaal packet he ader con- figuration on page 335 for available word choices and definitions. figure 56: receive packet definitions // aal 5 definition // raw definition // packet mode definition struct rx_label flags { struct rx_label flags { struct rx_label flags { bit16 rx_label; bit16 rx_label; bit16 rx_label; bit2 ip_chksm_flags; bit2 reserved; bit2 ip_chksm_flags; bit2 proto_chksm_flags; bit2 reserved; bit2 proto_chksm_flags; bit1 toobig_status; bit1 toobig_status; bit1 toobig_status; bit1 memchk_status; bit1 memchk_status; bit1 memchk_status; bit1 fabort_status; bit1 reserved; bit1 reserved; bit1 badlen_status; bit1 reserved; bit1 reserved; bit1 badcpi_status; bit1 reserved; bit1 reserved; bit1 badcrc_status; bit1 badcrc_status; bit1 reserved; bit1 reserved; bit1 reserved; bit1 reserved; bit1 reserved; bit1 reserved; bit1 reserved; bit1 reserved; bit1 reserved; bit1 reserved; bit1 route_status; bit1 route_status; bit1 route_status; bit1 error_status; bit1 error_status; bit1 error_status; bit1 done_status; bit1 done_status; bit1 done_status; }; }; }; table 51: transmit and receive packet header field descriptions (page 1 of 3) field name field description next_buffer this field is used by the hardware to chain buffers together on queues. it contains the address of the next buffer if one exists. for transmit buffers allocated in virtual memory, this field is written by the hardware with a distinctive pattern ( ? zzzzzbad ? x) where zzzzz is the offset of the failure when a write operation was not able to complete due to a shortage of the real buffers needed to map into the virtual address space. this field can be checked after all buffer write operations and the appropriate recovery actions are taken immediately, or when a buffer that has had a write failure is enqueued to csked (an event will be generated and the buffer will not be processed by csked). a status bit also exists in the bcach status register indicating that a write to virtual memory has failed. with cache performance in mind, this status bit could be checked first; if it is not set, there is no need to access the header of the packet. note: this automatic error recovery mechanism results in the restriction that this first four bytes of a transmit packet must never be written via programmed io or dma during preparation for transmission. if this field is written by a software or dma operation, the automatic error detection will not work properly and undesirable results are likely. aal5_user_byte1 on transmit, this field contains the value to be sent in the user byte in the last cell of an aal5 packet, if intst is configured for one user byte. on receive, this field contains the user byte from the aal5 trailer, if intst is configured for one user byte. when not configured for aal5, this field is redefined. the two most significant bits contain the drop number. when in packet mode, the low five bits of this byte contain the number of bytes dropped due to the dropn- bytes field in the lcd. dma_on_xmit if this bit is set, a dma descriptor address placed in the packet header (offset x ? c ? ) will be queued for execu- tion. generate_crc10 if this bit is set, crc10 will be generated over the cell(s) in this packet. free_on_xmit if this bit is set, the buffer will be freed after the transmission completes. queue_on_xmit if this bit is set, the buffer will be queued on the transmit complete queue after the transmission completes. efct_status this bit is used on both transmit and receive: transmit: if this bit is set, the efci bit in the atm cell header will be set for each cell in this packet. receive: this bit contains the ored efci bits across all the cells that comprised this packet if this lcd is using aal5.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 packet header page 675 of 706 cell_loss_priority this bit is used on both transmit and receive: transmit: if this bit is set, the cell loss priority bit in the atm cell header will be set for each cell in this packet receive: this bit contains the ored cell loss priority bits across all the cells that comprised this packet if this lcd is using aal5. buffer_offset this field contains the offset into the buffer where the data starts. buffer_length this field contains the length of the packet. lc_address this is the address of the logical connection descriptor on which this packet was received. rx_atm_header on reception, the four-byte atm header (no hec) is copied from the first and last cell into this area. this is an optional header word. aal5_user_byte2 (tx) this field contains the value to be sent in the user bytes, one and two, in the last cell of an aal5 packet if intst is configured for two-user byte. the normal one-byte aal5 user byte field is not used. aal5_user_byte2 (rx) this field contains the aal5 user bytes, one and two, in the last cell of an aal5 packet if intst is configured for two-user byte. the normal one-byte aal5 user byte field is not filled in. this is an optional packet header word. rx_label this field is written with ? ra ? in ascii (x ? 5241 ? ) to signal that this buffer was used by raall. ip_chksm_flags this field contains the ip checksum status if enabled. the possible values are: 00 not checked 01 good 10 bad 11 unknown proto_chksm_flags this field contains the protocol checksum status if enabled. the possible values are: 00 not checked 01 good 10 bad 11 unknown toobig_status indicates the current packet exceeded the maximum packet size. memchk_status indicates the current packet had a memory check (real size exceeded or virtual error). fabort_status indicates the current packet was aborted (aal5 forward abort). badlen_status indicates the current packet had a bad aal5 length in the trailer. badcpi_status indicates the current packet had a bad aal5 cpi field (not zero). badcrc_status indicates the current packet had a bad aal5 crc. route_status this bit is written when the packet is completed if it is internally routed. error_status this bit is written when the packet is completed if an error condition occurs. done_status this bit is written when the packet is completed. it can be used when thresholding. host_data this is an optional word that can be copied from the lcd to the packet header. vba this is the pnr virtual buffer address of the current receive buffer. this is an optional packet header word. txqueuelenh/m/l these words provide the current transmit queue length. see 3.14.6.7: rxaal transmit queue length com- pression configuration on page 334 for more information on the format of these words. these are optional packet header words. start_timestamp a timestamp can be inserted in the packet header when the packet is started. the timestamp is sourced from the rxque timestamp register. the location of this timestamp is important so it is not overwritten when the packet is completed. for this reason, it should be the last word in the packet header. this is an optional header word. table 51: transmit and receive packet header field descriptions (page 2 of 3) field name field description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary packet header page 676 of 706 pnr261appnotes.fm.06 august 14, 2000 end_timestamp a timestamp can be inserted in the packet header when the packet is started. the timestamp is sourced from the rxque timestamp register. this is an optional header word. dma_desc_addr if the dma_on_xmit bit is set in the packet header, this field contains the address of the dma descriptor that will be queued when transmission is complete. table 51: transmit and receive packet header field descriptions (page 3 of 3) field name field description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 general lcd page 677 of 706 7.2 general lcd figure 57: logical channel data structure figure 58: general lcd layout struct lcd_struct { tx_lcd_struct tx_lcd ; // transmit portion of the lc descriptor bit8 fill[n] ; // the fill area depends on the type of tx lcd rx_lcd_struct rx_lcd ; // receive portion of the lc descriptor }; transmit portion receive portion user data offset x ? 00 ? x ? 50 ? x ? 78 ? csked scheduling information (3) 64-bit words csked/segbf shared information (2) 64-bit words segbf segmentation (0-3) 64-bit words 128-byte lcd if lcd-based memory management is used, a 64-bit section with the following layout is inserted at byte offset 18x: threshold threshold pool id1 bytes waiting to be transmitted 12 pool id2 four different formats, determined by whether scheduling is based on virtual path parameters or is configured for abr. see scheduling portion of a transmit descriptor. tx length misc. flags atm header 16 16 4 4 24 16 16 32 segmentation pointer partial crc 16 32 on abr connections, the abr code running in pcore uses ten bytes of the lcd starting at offset x ? 46 ? for managing the connection. information 32 32 32 32 xmit_stat1 xmit_stat2 abr backward pointer reserved abr data 32 32
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit lcd data structures page 678 of 706 pnr261appnotes.fm.06 august 14, 2000 7.3 transmit lcd data structures figure 57 on page 677 and figure 60 on page 679 show the layout of the transmit portion of a logical chan- nel descriptor. when initializing an lcd, any locations that are not written to a specific value should be initial- ized to zeros. fields that typically need to be initialized to a non-zero value are flagged with a # in the structure below. note: this is only one possible layout of the transmit portion of the lcd. some field locations vary and are further defined later in this section. care must be taken when updating fields in the lcd and then immediately causing the updated fields to be accessed by other pnr entities. for example, it is possible, although not likely, under the right conditions, for a normal lcd update followed by a segbf cell enqueue operation to actually execute in reverse order. this is due to pnr internal priority levels and could result in segbf fetching the lcd data before it has been updated to the new value. for this reason, it is highly advisable to use the lcd update mechanism in section 3.14: cell/packet reassembly (reasm) on page 301. the transmit portion of the lcd can be subdivided into three distinct parts based on which chip functions or entities access that particular part of the lcd. the first three 64-bit words are scheduling related and are accessed only by csked. the next two 64-bit words (four if using switch fabric header) are related to both scheduling and segmentation and are accessed and shared by both c sked and segbf. the words follow- ing these shared locations are related only to segmentation and are accessed only by segbf. the number of 64-bit words in this portion of the lcd can vary from one to three. the actual number being used in an lcd is determined by the segmentation processor code entry point field of that lcd. the following figure is the layout of the entire transmit portion of the lcd. the three 64-bit words containing csked scheduling information can have four different formats depending upon whether scheduling is based on virtual path parameters or is configured for abr. if lcd-based memory management is used, a 64-bit section is inserted at byte offset x ? 18 ? . on abr connections, the abr code running in pcore will use ten bytes of the lcd for managing the con- nection, starting at offset x ? 46 ? in the lcd. figure 59: overall transmit lcd layout csked scheduling information three 64-bit words csked/segbf shared information two 64-bit words segbf segmentation information one - three 64-bit words
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 transmit lcd data structures page 679 of 706 figure 60: scheduling portion of a transmit descriptor 32 time stamp timing data 32 32 32 32 32 virtual path descriptor reserved 32 32 32 32 next descriptor in chain 32 16 time stamp timing data 32 32 transmit packet 32 32 32 abr values and timing data 64 32 32 next descriptor in chain next descriptor in chain next descriptor in chain peak interval average interval 16 16 peak interval average interval 16 16 peak interval average interval 16 16 peak interval abr parameters 16 queue head pointer transmit packet queue tail pointer for a standard virtual circuit using abr for a virtual circuit on a virtual path for a virtual path transmit packet queue head pointer transmit packet queue tail pointer transmit packet queue head pointer transmit packet queue tail pointer transmit lcd queue head pointer transmit lcd queue tail pointer address csked scheduling information (3) 64-bit words
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit lcd data structures page 680 of 706 pnr261appnotes.fm.06 august 14, 2000 figure 61: transmit logical channel descriptor structure . typedef struct { bit32 next_lcd; bit16 #peak_interval; bit16 #average_interval; bit32 #timestamp; bit11 reserved; bit1 remove_lcd; bit1 lc_on_timewheel; bit3 #alter_sched; bit2 #transmit_priority; bit1 #max_resolution; bit3 #max_burst_mult; bit10 #max_burst_value; bit26 head_packet_pointer; bit1 free_on_xmit; bit1 queue_on_xmit; bit1 conn_suss; bit1 #drop; bit26 tail_packet_pointer; bit6 reserved; bit16 transmit_length; bit8 buffer_offset; bit2 xmt_cmp_evt_mod; bit2 reserved; bit4 seg_prc_entry_point; bit32 #atm_header; bit32 segmentation_pointer; bit32 current_crc; bit32 xmit_stat1; bit32 xmit_stat2; } tx_lcd_struct, *tx_lcd_struct_ptr;
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 transmit lcd data structures page 681 of 706 figure 62: transmit logical path descriptor structure . typedef struct { bit32 next_lcd; bit16 #peak_interval; bit16 #average_interval; bit32 #timestamp; bit11 reserved; bit1 remove_lcd; bit1 lc_on_timewheel; bit3 #alter_sched; bit2 #transmit_priority; bit1 #max_resolution; bit3 #max_burst_mult; bit10 #max_burst_value; bit26 forward_lcd_pointer; bit6 reserved; bit26 backwared_lcd_pointer; bit6 reserved; } tx_lpd_struct, *tx_lpd_struct_ptr;
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit lcd data structures page 682 of 706 pnr261appnotes.fm.06 august 14, 2000 figure 63: redefinition of transmit logical channel descriptor for connections sharing (logical path bandwidth) typedef struct { bit32 next_lcd; bit32 reserved; bit32 lcd_pointer; bit11 reserved; bit1 remove_lcd; bit1 lc_on_timewheel; bit3 #alter_sched; bit2 #transmit_priority; bit14 reserved; bit26 head_packet_pointer; bit1 free_on_transmit; bit1 queue_on_transmit; bit1 dma_on_transmit; bit1 conn_suss; bit2 #drop; bit26 tail_packet_pointer; bit6 reserved; bit16 transmit_length; bit8 buffer_offset; bit2 xmt_cmp_evt_mod; bit2 reserved; bit4 seg_prc_entry_point; bit32 #atm_header; bit32 segmentation_pointer; bit32 current_crc; bit32 xmit_stat1; bit32 xmit_stat2; } tx_lcd_struct, *tx_lcd_struct_ptr;
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 transmit lcd data structures page 683 of 706 owing to the use of certain lcd fields, a connection running abr cannot be set up for segmentation aal types x ? 6 ? (fixed-sized blocking) or x ? 7 ? (mpeg-2 assist). figure 64: redefinition of shared and segmentation portion of transmit lcd for abr typedef struct { bit16 transmit_length; bit8 buffer_offset; bit2 xmt_cmp_evt_mod; bit2 reserved; bit4 seg_prc_entry_point; bit32 #atm_header; bit32 segmentation_pointer; bit32 current_crc; bit32 xmit_stat1; bit32 xmit_stat2; bit16 reserved; bit16 explicit_rate; bit16 current_rate; bit16 minimum_rate; bit32 backward_ptr; bit32 reserved; } tx_lcd_struct, *tx_lcd_struct_ptr;
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit lcd data structures page 684 of 706 pnr261appnotes.fm.06 august 14, 2000 figure 65: redefinition of segmentation portion of transmit lcd for fixed size aal5 blocking (segmentation type x ? 6 ? ) typedef struct { bit16 transmit_length; bit8 buffer_offset; bit2 xmt_cmp_evt_mod; bit2 reserved; bit4 seg_prc_entry_point; bit32 #atm_header; bit32 segmentation_pointer; bit32 current_crc; bit32 xmit_stat1; bit32 xmit_stat2; bit8 #packets_per_aal5_frame; bit8 #blocking_size (4 bytes x2f for mpeg-2); bit8 current_transport_stream_packet; bit8 current_blocking_count (4 bytes); bit32 reserved; } tx_lcd_struct, *tx_lcd_struct_ptr; figure 66: redefinition of segmentation portion of transmit lcd for mpeg2 (segmentation type x ? 7 ? ) typedef struct { bit16 transmit_length; bit8 buffer_offset; bit2 xmt_cmp_evt_mod; bit2 reserved; bit4 seg_prc_entry_point; bit32 #atm_header; bit32 segmentation_pointer; bit32 current_crc; bit32 xmit_stat1 bit32 xmit_stat2 bit8 #packets_per_aal5_frame; bit8 #blocking_size (4 bytes x2f for mpeg-2); bit8 current_transport_stream_packet; bit8 current_blocking_count (4 bytes); bit32 reserved; bit32 reserved; bit32 reserved; } tx_lcd_struct, *tx_lcd_struct_ptr;
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 transmit lcd data structures page 685 of 706 figure 67: redefinition of scheduling portion of transmit lcd for abr typedef struct { bit32 next_lcd; bit16 #peak_interval; bit3 #nrm; bit3 #trm; bit10 #tadtf; bit8 #nc; bit8 #ncrm; bit16 reserved; bit11 tlrm1; bit1 remove_lcd; bit1 lc_on_timewheel; bit3 #alter_sched; bit2 #transmit_priority; bit1 #max_resolution; bit13 tlrm2; bit26 head_packet_pointer; bit1 free_on_xmit; bit1 queue_on_xmit; bit4 reserved; bit26 tail_packet_pointer; bit6 reserved; } tx_lcd_struct, *tx_lcd_struct_ptr; figure 68: redefinition of scheduling portion of transmit lcd for timers typedef struct { bit32 next_lcd; bit32 #timer_period; bit32 #timestamp; bit12 reserved; bit1 lc_on_timewheel; bit1 reserved; bit2 #timer_type; bit2 #transmit_priority; bit1 #max_resolution; bit13 reserved; bit32 #dma_desc_addr; bit32 reserved; } tx_lcd_struct, *tx_lcd_struct_ptr;
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit lcd data structures page 686 of 706 pnr261appnotes.fm.06 august 14, 2000 7.3.1 field definitions the following is a detailed description of the fields listed above. this data structure should be initialized at connection setup but not modified while transmission is occurring on the connection. figure 69: definition of lcd-based memory management of transmit lcd typedef struct { bit16 #threshold_1; bit16 #threshold_2; bit4 #pool_id1; bit4 #pool_id2; bit24 #bytes_queued; } tx_lcd_struct, *tx_lcd_struct_ptr; figure 70: definition of abr code variables typedef struct { bit8 #crm; bit8 #icdf; bit16 #imcr; bit16 #pcr; bit8 #irdf; bit8 #irif; bit16 #icr; } tx_lcd_struct, *tx_lcd_struct_ptr; table 52: transmit lcd field definitions (page 1 of 5) field name needs to be initialized to a non-zero value? field description next_lcd no this field is used by the hardware to chain lcds together on queues. it contains the address of the next lcd if one exists. peak_interval yes this field contains the minimum spacing allowed between consecutive cells on this connection. this spacing is expressed in cell times. a connection that can transmit every cell time would have a value of ? 1 ? for this field. in frame-based mode, the average portion of the bandwidth used by a connection will be 1/(peak interval) average_interval yes this field contains the minimum average spacing allowed between cells trans- mitted on this connection. it is the inverse of the sustainable cell rate. the value for this field is expressed in cell times. in frame-based mode, this field should be set equal to the peak interval times the maximum packet size divided by 64. nrm yes this field specifies the maximum number of cells a source may send for each forward rm cell. number of cells = (2**nrm)+1. trm yes this field provides an upper bound on the time between forward rm cells for an active source. time = 100 ? (2**-trm) msec. tadtf yes the acr decrease time factor is the time permitted between sending rm cells before the rate is decreased to icr. time = tadtf ? 0.01 sec. nc yes this field is used as a counter to determine when pnr cells have been sent. it should be initialized at connection setup time to ? 0 ? . ncrm yes this field is used as a counter to determine when crm rm cells have been sent. it should be initialized at connection setup time to crm.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 transmit lcd data structures page 687 of 706 timestamp yes this field contains a timestamp used by the hardware to determine if transmit opportunity credits exist and if the burst tolerance has been exceeded. it should be initialized at connection setup time to the value in the current timeslot counter. tlrm1 & 2 no these fields are used by the hardware to determine when the last rm cell was sent. they should be initialized to ? 0 ? . lc_on_timewheel yes this field indicates if the lcd is currently queued to the timewheel. it should be initialized to ? 0 ? . remove_lcd yes if this bit is set, the lcd will be removed from the time wheel at next transmis- sion opportunity. it should be initialized to ? 0 ? . alter_sched yes these encoding bits alter the scheduling of cells on a virtual circuit (vc) 000 normal scheduling scheduling is not altered. 001 vc on vp this vc is contained on a virtual path and will share the vp bandwidth after one packet is sent. the scheduling parameters are contained in the descriptor for the virtual path that is pointed to by the virtual path descriptor address field in this lcd. 010 mpeg-2 scheduling the cells being sent out on this connection are monitored for a peak cell rate (pcr). if a pcr is found, the aal5 packet is termi- nated at the end of the mpeg-2 frame and the last cell is scheduled to go out at the time specified in the pcr. 011 packet-based scheduling packets will be scheduled at the average interval and cells within the packet will be scheduled at the peak interval. this is use- ful for sending information where vari- ably-sized packets need to be sent at regular intervals. 100 abr scheduling this vc will send resource management cells and adjust its transmission rate according to the behaviors specified in the atm forum traffic management specifica- tion, version 4.0. 101 fair vc on vp this vc is contained on a virtual path and will share the vp bandwidth after one cell is sent. the scheduling parameters are con- tained in the descriptor for the virtual path which is pointed to by the virtual path descriptor address field in this lcd. 110 reserved for mpeg-2 scheduling. 111 reserved transmit_priority yes this field specifies the priority of transmission on this connection: 0=high, 1=medium, 2=low. max_resolution yes if this bit is set, the lower eight bits of the average interval and peak interval parameters contain a fractional component. this allows a finer resolution for scheduling. for example, for a peak interval of 1.5 time units, the value written to the peak_interval field should be x ? 0180 ? . if this bit is set, the initial value of timestamp should contain the current timeslot counter shifted 16 bits to the left. table 52: transmit lcd field definitions (page 2 of 5) field name needs to be initialized to a non-zero value? field description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit lcd data structures page 688 of 706 pnr261appnotes.fm.06 august 14, 2000 max_burst_mult yes the values in this field and the next field are used to limit the number of cells that can be transferred at the peak rate. the max_burst_value will be multiplied by four to the power of the value in this field to yield the maximum credit time. this time is expressed in cell times and represents the time it would take to acquire the maximum number of cell credits. this maximum credit time should equal the maximum number of cells that can be transferred at the peak rate (mbs) times the difference between the average and intervals. maximum credit time = mbs * (ai-pi) where mbs = maximum burst size, ai = average interval, and pi = peak interval. mbs must be at least one to transmit at peak rate. if mbs is not at least one, the peak interval should be set to the average interval. max_burst_value yes the value in this field will be multiplied by four to the power of the value in the max_burst_mult field to yield the maximum credit time. head_packet_pointer no this field is used to chain buffers to lcds. tail_packet_pointer no this field is used to chain buffers to lcds. transmit_length no this field contains the length of the currently transmitted packet. free_on_xmit no this bit is set if the header of the currently transmitted packet has specified that the packet is to be freed after transmission. queue_on_xmit no this bit is set if the header of the currently transmitted packet has specified that the packet is to be queued after transmission. dma_on_xmit no this bit is set if the header of the currently transmitted packet has specified that a dma descriptor is to be queued after transmission. conn_suss no this bit is used on abr connections to suspend transmission. it should be ini- tialized to ? 0 ? . drop no these two bits are used to indicate which physical drop will be used for this con- nection. traffic can be scheduled on up to four drops. buffer_offset no this field contains the offset into the buffer that the transmit data starts. xmt_cmp_evt_mod no this two-bit field can optionally (based on a bit in the segbf control register) be logically ored with bits 8-7 of a transmit complete buffer event when it is gener- ated by the segmentation logic. this field will only be ored when buffer address events are being generated. it will have no affect when lcd addresses are being enqueued when a transmit complete event occurs. seg_prc_entry_point yes this four-bit field is loaded into the instruction pointer for both the lcd update processor and the cell generation processor when a cell opportunity occurs for the lcd. the value loaded into this field defines what type of cell will be gener- ated by the segmentation logic. possible types include raw 48- and 52-byte cells, aal5 cells, switch bound cells (48-byte payload), extended switch bound cells (54-byte payload), and frame-based cells. the actual values that are asso- ciated with each type of cell will be defined at a later time. atm_header yes this field contains the first four bytes of the atm header. segmentation_pointer no this field contains a pointer to the next data to be transmitted. in normal opera- tion, this field is initialized by the cell scheduler when a new frame is queued for segmentation. current_crc no this field contains the crc as it is being built. current_blocking_count no this eight-bit field contains the current count of four-byte values that have been assembled into cells and sent out on this lcd for all fix block or mpeg aal types. other than initialization, this field should only be accessed by the hard- ware. fixed_blocking_size yes this eight-bit field should be initialized by the software to contain the number of four-byte values that constitute a packet. for mpeg2, this register should be set to x ? 2f ? (4 ? x ? 2f ? = 188 byte transport stream packet). table 52: transmit lcd field definitions (page 3 of 5) field name needs to be initialized to a non-zero value? field description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 transmit lcd data structures page 689 of 706 current_transport_stream_packet no this eight-bit field contains the number of the current transport stream packet that is being segmented. other than initialization, this field should only be accessed by the hardware. packets_per_aal5_frame yes this eight-bit field should be initialized by the software to indicate how many packets should be concatenated into an aal5 frame. explicit_rate no this 16-bit field contains the explicit cell rate as defined for abr traffic on this lcd. current_rate no this 16-bit field contains the current cell rate as defined for abr traffic on this lcd. minimum_rate no this 16-bit field contains the minimum cell rate as defined for abr traffic on this lcd. backward_ptr no when software needs to send a backward rm cell, this 32-bit field should be updated with the address of a buffer that contains the desired backward rm cell. after the segmentation logic transmits the cell, this field is cleared by the hardware. xmit_stat1 no this 32-bit field contains a count of one of three things: the total number of user cells that have been sent on this lcd, the total number of bytes that have been sent on this lcd, or the total number of frames that have been sent on this lcd. this field should zeroed when the connection is initialized. an event will be generated when this count wraps. xmit_stat2 no this 32-bit field contains a count of one of three things: the total number of user cells that have been sent on this lcd, the total number of bytes that have been sent on this lcd, or the total number of frames that have been sent on this lcd. this field should be zeroed when the connection is initialized. an event will be generated when this count wraps. threshold_1&2 no these fields are compared to the upper 24 bits of the bytes_queued field to determine when a threshold is crossed and the pool id for the received lcd should be changed. pool_id1&2 no these fields are used to change the pool id when a threshold is crossed. bytes_queued no this field is used to keep track of the number of bytes queued for transmission on this lcd. timer_type yes these encoded bits determine the time of timer: 00 relative non-periodic timer the expiration time will be in one timer period. the timer will not be scheduled again automatically. 01 relative periodic timer the expiration time will be in one timer period. the timer will be automatically scheduled again. 10 absolute non-periodic timer the timer will expire at the time specified by the timestamp field. the timer will not be automatically scheduled again. 11 absolute periodic timer the timer will expire at the time specified by the timestamp field. the timer will be scheduled again, automatically, using the time specified in the timer_period field. timer_period yes this field specifies the number of timeslots before the timer expires. dma_desc_addr yes the dma descriptor pointed to by this field will be queued for execution when the timer expires. crm no missing rm cell count. crm limits the number of forward rm cells that may be sent in the absence of received backward rm cells. cdf is written to the ncrm field whenever a backward rm cell is detected. table 52: transmit lcd field definitions (page 4 of 5) field name needs to be initialized to a non-zero value? field description
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary transmit lcd data structures page 690 of 706 pnr261appnotes.fm.06 august 14, 2000 icdf no cutoff decrease factor (cdf) controls the decrease in acr associated with crm. cdf is zero or a power of 2 value in the range of 1/64 to 1. icdf repre- sents the power of 2 that is in the denominator of cdf. cdf = 1/(2**icdf) so icdf = log (base 2) of 1/cdf. range = 1 to 6. a zero value for cdf should be represented as x ? ff ? for icdf. imcr no this is the reciprocal of the minimum cell rate (mcr). mcr is represented in the abr rate format. imcr needs to be an integer representing the interval between cells, in units of timeslots per cell. the following formula illustrates the conversion from mcr to imcr. imcr = 1/(mcr) * 53 * 8 * (tsp/ci*(2**23)). the timeslot prescalar (tsp) is defined by the csked timeslot prescalar register. the clock interval (ci) is determined by the crset clock control register. with the tsp set to one timeslot per cell transmission time, imcr =1 for a full bandwidth, 2 for a half bandwidth, etc. pcr no the peak cell rate (pcr) is the cell rate that the source may never exceed. pcr should be in the abr rate format. irdf no rate decrease factor (rdf) controls the decrease in the cell transmission rate. rdf is a power of 2 value in the range of 1/32,768 to 1. irdf represents the power of 2 that is in the denominator of rdf. rdf = 1/(2**irdf) so irdf = log (base 2) of 1/rdf. range = 1 to 15. irif no rate increase factor (rif) controls the increase in the cell transmission rate. rif is a power of 2 value in the range of 1/32,768 to 1. irif represents the power of 2 that is in the denominator of rif. rif = 1/(2**irif) so irif = log (base 2) of 1/rif. range = 1 to 15. icr no the initial cell rate is the rate at which a source should send initially and after an idle period. icr should be in the abr rate format. table 52: transmit lcd field definitions (page 5 of 5) field name needs to be initialized to a non-zero value? field description
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 transmit lcd data structures page 691 of 706 figure 71: transmit data structure linkage lc cb next lcd@ head pointer tail pointer lp cb next lcd@ head pointer tail pointer lc cb next lcd@ head pointer tail pointer lc cb next lcd@ head pointer tail pointer packet buffer packet header packet data packet buffer packet header packet data packet buffer packet header packet data packet buffer packet header packet data packet buffer packet header packet data packet buffer packet header packet data
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive lcd data structure and modes page 692 of 706 pnr261appnotes.fm.06 august 14, 2000 7.4 receive lcd data structure and modes the format of the receive lcd structure depends on which aal is being configured and which options are used. it also depends on whether tcp/ip checksum verification has been enabled. when tcp/ip checksum verification is enabled, 16 additional bytes are added to the lcd format. tcp/ip checksum is enabled in the reasm mode register . the following are the basic layouts of the receive lcd: the basic layout is the same for all lcd types. only the packed info and misc fields vary between the differ- ent lcd types. the following sections detail the receive lcd and the differences from the basic layout for each major option. figure 72: basic receive lcd layout struct basicrxlcd { struct basicrxlcdip { bit32 packedinfo; bit32 packedinfo; bit32 crcstate; bit32 crcstate; bit32 misc; bit32 ipwrd0; bit32 buffptr; bit32 ipwrd1; bit32 ipwrd2; bit32 stat0; bit32 ipwrd3; bit32 stat1; bit32 misc; bit32 hostdata; bit32 buffptr; bit32 misc2; bit32 stat0; bit32 reserved; bit32 stat1; bit32 reserved; bit32 reserved; bit32 hostdata; bit32 reserved; bit32 misc2; }; }; struct ipwrd0 {; bit32 ipwrd0; bit4 frametype; bit6 skipcount; bit6 reserved; bit16 reserved; };
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 receive lcd data structure and modes page 693 of 706 a raw lcd allows raw atm cells to be received with no reassembly. the user can select to receive 52- or 48-byte cells. the packet header may or may not contain the atm header. the cell data is then placed after the packet header at the configured receive offset. the 52-byte mode stores the entire cell minus the hec, and the 48-byte mode stores only the atm cell payload. optional crc-10 checking is available in raw modes. figure 73: raw lcd packed and miscellaneous field layouts struct packed { bit4 aaltype; // 0000 - raw bit2 ppmode; // 00 - normal bit2 state; // 00->down 01->idle/enabled bit1 reserved; // set to zero bit1 reserved; // set to zero bit1 reserved; // set to zero bit1 size; // 1->52 byte cell 0->48 byte cell bit1 storecrc10; bit3 reserved; bit4 rxqnum; bit4 rxpoolid; bit8 rxoffset; }; struct misc { bit6 reserved; bit2 packheadsel; bit8 reserved; bit16 oammask; }; struct misc2 { bit32 reserved; };
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive lcd data structure and modes page 694 of 706 pnr261appnotes.fm.06 august 14, 2000 a raw routed lcd receives data in the same way that a raw lcd does. once received, the cell buffer is routed internally to the scheduler and rescheduled for transmission. normally, when a cell is received, the receive lcd address is written into the packet header and the buffer is surfaced to the user. when a cell is routed, the routedlcd field is used to fill in the lcd address in the packet header. this allows cells to be routed out the transmit interface with the same or different vpi/vci. the low order bits in the routedlcd field should be set correctly to free the buffer on transmission. these bits correspond to the flag bits in the packet header. raw routing is also called forwarded or fast forward mode. figure 74: raw routed lcd packed and miscellaneous field layouts struct packed { bit4 aaltype; // 0000 - raw bit2 ppmode; // 01 - routed bit2 state; // 00->down 01->idle/enabled bit1 reserved; // set to zero bit1 reserved; // set to zero bit1 reserved; // set to zero bit1 size; // 1->52 byte cell 0->48 byte cell bit1 reserved; bit3 reserved; bit4 rxqnum; bit4 rxpoolid; bit8 rxoffset; }; struct misc { bit6 reserved; bit2 packheadsel; bit8 reserved; bit16 oammask; }; struct misc2 { bit32 routedlcd; };
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 receive lcd data structure and modes page 695 of 706 a raw routed early drop lcd receives data in the same way that a raw lcd does. once received, the cell buffer is then routed internally to the scheduler and rescheduled for transmission. normally when a cell is received, the receive lcd address is written into the packet header and the buffer is surfaced to the user. when a cell is routed, the routedlcd field is used to fill in the lcd address in the packet header. this allows cells to be routed out the transmit interface with the same or different vp/vc. this mode should only be used when the routed cell stream is actually an aal5 packet stream. in this mode, a cell being dropped due to resource causes the lcd to go into error mode until the cell that contains the user indicate (uind) bit is received. all cells received in error mode are dropped, except the final cell which is for- warded. this conserves bandwidth while maintaining the aal5 integrity. the finalpoolid provides a second poolid for the final cells to use to be sure that these final cells are always forwarded even when resources are low. the finalpoolid is only used if no buffers are available in the normal pool. the low order bits in the routedlcd field should be set correctly to free the buffer on transmit. these bits cor- respond to the flag bits in the packet header. this is also called forwarded or fast forward mode. figure 75: raw routed early drop lcd packed and miscellaneous field layouts struct packed { bit4 aaltype; // 0001 - raw early drop bit2 ppmode; // 01 - routed bit2 state; // 00->down 01->idle/enabled 11->error bit1 reserved; // set to zero bit1 reserved; // set to zero bit1 reserved; // set to zero bit1 size; // 1->52 byte cell 0->48 byte cell bit4 finalpoolid; // pool id bit4 rxqnum; bit4 rxpoolid; bit8 rxoffset; }; struct misc { bit6 reserved; bit2 packheadsel; bit8 reserved; bit16 oammask; }; struct misc2 { bit32 routedlcd; };
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive lcd data structure and modes page 696 of 706 pnr261appnotes.fm.06 august 14, 2000 a raw scatter/cut-through lcd receives data in the same way that a raw lcd does. once received, the cut- thrusel field is used to select one of four configurations. each configuration specifies a receive queue and a dma queue. the cut-through selector is used to select a cut-through/scatter configuration. the dma descrip- tor is then built using the cell buffer address and the data length and the flags specified in the cut-through configuration. after being built, it is enqueued to the dma queue specified. if there is no dma descriptor avail- able, then a no descriptor event is enqueued. figure 76: raw scatter/cut-through lcd packed and miscellaneous field layouts struct packed { bit4 aaltype; // 0000 - raw bit2 ppmode; // 10 - scatter/cut through bit2 state; // 00->down 01->idle/enabled bit1 reserved; // set to zero bit1 reserved; // set to zero bit1 reserved; // set to zero bit1 size; // 1->52 byte cell 0->48 byte cell bit1 storecrc10; bit1 reserved; bit2 cutthrusel; bit4 rxqnum; bit4 rxpoolid; bit8 rxoffset; }; struct misc { bit6 reserved; bit2 packheadsel; bit8 reserved; bit16 oammask; }; struct misc2 { bit32 reserved; };
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 receive lcd data structure and modes page 697 of 706 an aal5 lcd allows aal5 packets to be received with no special processing. figure 77: aal5 lcd packed and miscellaneous field layouts struct packed { bit4 aaltype;// 0101 - aal5 bit2 ppmode; // 00 - normal bit2 state; // 00->down 01->idle/enabled 10->reasm 11->error bit1 reserved; // set to zero bit1 rtotest; // set to zero bit1 rtoenable; bit1 tmpclp; bit1 tmpcongestion; bit3 reserved; bit4 rxqnum; bit4 rxpoolid; bit8 rxoffset; }; struct misc { bit6 reserved; bit2 packheadsel; bit8 reserved; bit16 oammask; }; struct misc2 { bit32 reserved; };
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive lcd data structure and modes page 698 of 706 pnr261appnotes.fm.06 august 14, 2000 an aal5 routed lcd allows aal5 packets to be received. once received, the packet buffer is then routed internally to the scheduler and rescheduled for transmission. normally when a packet is received, the receive lcd address is written into the packet header and the buffer is surfaced to the user. when a packet is routed, the routedlcd field is used to fill in the lcd address in the packet header. this allows packets to be routed out the transmit interface with the same or different vp/vc. the low order bits in the routedlcd field should be set correctly to free the buffer on transmission. these bits correspond to the flag bits in the packet header. aal5 routing is also called forwarded or fast forward mode. note: non-user data cells are terminated. figure 78: aal5 routed lcd layout struct packed { bit4 aaltype; // 0101 - aal5 bit2 ppmode; // 01 - routed bit2 state; // 00->down 01->idle/enabled 10->reasm 11->error bit1 reserved; // set to zero bit1 rtotest; // set to zero bit1 rtoenable; bit1 tmpclp; bit1 tmpcongestion; bit3 reserved; bit4 rxqnum; bit4 rxpoolid; bit8 rxoffset; }; struct misc { bit6 reserved; bit2 packheadsel; bit8 reserved; bit16 oammask; }; struct misc2 { bit32 routedlcd; };
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 receive lcd data structure and modes page 699 of 706 figure 79: aal5 cut-through/scatter mode lcd packed and miscellaneous field layouts struct packed { bit4 aaltype; // 0101 - aal 5 bit2 ppmode; // 10 - scatter bit2 state; // 00->down 01->idle/enabled 10->reasm 11->error bit1 reserved; // set to zero bit1 rtotest; // set to zero bit1 rtoenable; bit1 tmpclp; bit1 tmpcongestion; bit1 reserved; bit2 cutthrusel; bit4 rxqnum; bit4 rxpoolid; bit8 rxoffset; }; struct misc { bit6 numdesc; bit2 packheadsel; bit8 reserved; bit16 oammask; }; struct misc2 { bit5 reserved; bit1 usecrcnumhead; bit10 numheadbytes; bit16 reserved; };
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive lcd data structure and modes page 700 of 706 pnr261appnotes.fm.06 august 14, 2000 a packet lcd allows packets from the pos-phy to be received with no special processing. the header- thresh can be used to allow packet header thresholding events to be surfaced. figure 80: packet lcd packed and miscellaneous field layouts struct packed { bit4 aaltype; // 0111 - packet bit2 ppmode; // 00 - normal bit2 state; // 00->down 01->idle/enabled 10->reasm 11->error bit1 reserved; // set to zero bit1 rtotest; // set to zero bit1 rtoenable; bit5 reserved; bit4 rxqnum; bit4 rxpoolid; bit8 rxoffset; }; struct misc { bit6 reserved; bit2 packheadsel; bit8 reserved; bit16 reserved; }; struct misc2 { bit5 dropnbytes; bit11 reserved; bit16 reserved; };
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 receive lcd data structure and modes page 701 of 706 a packet routed lcd allows packets to be received from the pos-phy. once received, the packet buffer is then routed internally to the scheduler and rescheduled for transmission. normally, when a packet is received, the receive lcd address is written into the packet header and the buffer is surfaced to the user. when a packet is routed, the routedlcd field is used to fill in the lcd address in the packet header. this allows packets to be routed out the transmit interface with the same or different lcd. the low order bits in the routedlcd field should be set correctly to free the buffer on transmit. these bits cor- respond to the flag bits in the packet header. this is also called forwarded or fast forward mode. figure 81: packet routed lcd packed and miscellaneous field layouts struct packed { bit4 aaltype; // 0111 - packet bit2 ppmode; // 01 - routed bit2 state; // 00->down 01->idle/enabled 10->reasm 11->error bit1 reserved; // set to zero bit1 rtotest; // set to zero bit1 rtoenable; bit5 reserved; bit4 rxqnum; bit4 rxpoolid; bit8 rxoffset; }; struct misc { bit6 reserved; bit2 packheadsel; bit8 reserved; bit16 reserved; }; struct misc2 { bit32 routedlcd; };
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary receive lcd data structure and modes page 702 of 706 pnr261appnotes.fm.06 august 14, 2000 figure 82: packet cut-through scatter mode lcd packed and miscellaneous field layouts struct packed { bit4 aaltype; // 0111 - aal5 bit2 ppmode; // 10 - scatter bit2 state; // 00->down 01->idle/enabled 10->reasm 11->error bit1 reserved; // set to zero bit1 rtotest; // set to zero bit1 rtoenable; bit3 reserved; bit2 cutthrusel; bit4 rxqnum; bit4 rxpoolid; bit8 rxoffset; }; struct misc { bit6 numdesc; bit2 packheadsel; bit8 reserved; bit16 reserved; }; struct misc2 { bit5 dropnbytes; bit1 usecrcnumhead; bit10 numheadbytes; bit16 reserved; };
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 lcd field definitions page 703 of 706 7.5 lcd field definitions the following are the definitions of the lcd fields, grouped by major function. all reserved fields should be set to zero. table 53: common field definitions field name field description note aaltype specifies the aal for this lcd. the following are the valid values: 0000 raw mode 0001 raw mode - early drop 0101 aal5 0110 aal5 - 54-byte mode 0111 packet 1 ppmode specifies the post processing mode for this lcd. the following are the valid values: 00 normal 01 routed 10 scatter/cut-through 11 reserved 1 state this specifies the reassembly state for this lcd. this field is used by the pnr, but in order to receive cells, an lcd must be initialized to idle state. the following are the valid values: 00 down state 01 idle state 10 reassembling state 11 error state 1 cutthrusel specifies a cut-through configuration. the cut-through configuration specifies a receive queue to get a descriptor from, a dma queue to enqueue the descriptor to, and a set of cut-through flags. 1 rxqnum specifies to which receive queue normal events should be posted. note: some events may be routed to the error queue based on your rxque setup. 1 rxpoolid specifies which pool id should be used when getting buffers for received packets. 1 rxoffset specifies the offset into the pnr buffer where the received packet should be placed. a value of ? 0 ? is equivalent to 256 bytes. 1 stat0 lc statistic word zero. default counts the total users cells with clp=0 received on this lc. for accurate counts, this should be initialized to zero. 1 stat1 lc statistic word one. default counts the total users cells received on this lc. for accurate counts, this should be initialized to ? 0 ? . 1 hostdata if enabled, the contents of this field are placed in packet of each received packet for this lcd. one use of this is to place a correlator to a host-specific data structure for this lcd. 1 ipwrd0-3 when tcp/ip verification is enabled, these words are used by the pnr to store state between cells for the tcp/ip verification process. the frametype field specifies an offset for the checksum nanoprogram. this field is used to jump to a specific algorithm to find the ip header. the skipcount field allows the user to specify a fixed amount that is always skipped before looking for the ip header using the specified algo- rithm. the remainder of the words should be initialized to ? 0 ? . 1 1. software should set up this field.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary lcd field definitions page 704 of 706 pnr261appnotes.fm.06 august 14, 2000 table 54: raw mode field definitions field name field description note size this field specifies how many bytes are stored when cell is received: 01 52-byte cell (no hec) 00 48-byte cell 1 storecrc10 when set, the crc-10 state bit is written into the packet header. a ? 1 ? is written in the error status bit in word 0 if a bad crc-10 is detected. 1 routedlcd when routing cells, this field is used to fill in the lcd field of the packet header. this allows the user to dynamically route cells back out the interface using a different lcd. the user should be sure to set the free on transmit bit in this field as if it were in a packet header. 1 1. software should set up this field. table 55: packet/aal5 field definitions field name field description note rtotest this is the reassembly timeout processing test-and-set bit. it is used by the pnr but should be initial- ized to ? 0 ? . 1 rtoenable if set, reassembly processing is enabled for this lc, if the lc is running aal5. 1 tmpclp used by the pnr to track the current state of the ored clp bit for the current aal5 packet. this field should be set to ? 0 ? at initialization. after initialization, the pnr maintains this field. 1 tmpcongestion used by the pnr to track the current state of the ored congestion bit for the current aal5 packet. this field should be set to ? 0 ? at initialization time. 1 headerthresh specifies how much data should be received before poping a packet start event. if it is set to ? 0 ? , only complete packet events will be popped. 1 buffptr this field is used by the pnr, but should be initialized to zero by software. this field is used to track the current packet under reassembly. 1 crcstate this field is used by the pnr to maintain the crc residue as the current packet is reassembled. it should be initialized to ? 0 ? . routedlcd when routing cells, this field is used to fill in the lcd field of the packet header. this allows the user to dynamically route cells back out the interface using a different lcd. the user should be sure to set the free on transmit bit in this field as if it were in a packet header. 1 cutthruthresh used to determine how much cut-through data is dmaed. 1 dmaedheader this is used by the pnr for cut-through mode 7 processing. this should be initialized to ? 0 ? .1 numdesc this is used by thepnr for scatter processing, and should be initialized to ? 0 ? .1 packheadsel specifies which packet header should be used for this connection. see 3.14.6.8: rxaal packet header configuration on page 335 for more information. 1 oammask specifies how oam traffic should be filtered. see 3.14.1.1: atm oam cell processing on page 303 for more information. usecrcnumhead when set, specifies that receive crc will determine how many bytes to use for numheadbytes. this is useful when a connection is carrying ip traffic, and the tcp/ip header lengths can be determined. 1 numheadbytes specifies how many bytes of data should be kept with the packet header when dmaing the final dma list for a completed scatter packet. must be less than the page size. 1 dropnbytes allows 0-31 bytes of packet data to be dropped from the beginning of the packet on pos-phy net- works. 1 1. software should set up this field.
IBM32NPCXX1EPABBE66 preliminary ibm processor for network resources pnr261appnotes.fm.06 august 14, 2000 lcd field definitions page 705 of 706 revision log rev. description 8/31/99 initial release (00). 3/31/00 first revision (01). updated content to describe ibm processor for network resources version 2.6 (ibm32npcxxepabbd66).  in the comet/pakit entities, the memory controller no longer supports burst length 1 for sdram; only burst length 2 is supported. the sdram ras to cas delay t rcd becomes programmable with the new revision.  in the cjtag entity, the jtag revision id changed from x'44103049' to x'14700049'.  in the crset entity, bits 3-0 of the crset control register are now reserved.  in the dmaqs entity, bits 31-30 and 27-24 of the dmaqs upper bound/properites registers are no longer reserved.  in the pools entity, the definition of bit 18 of the pools control register has changed.  in the intst entity, the power on reset value of the intst debug states control register has changed. the decode of bits 7-0 of this register have also changed.  in the pcint entity, the power on reset value of the pci revision id in pcint config word 2 register has changed to reflect the new revision of the pnr. the pci class code also stored in pcint config word 2 reg- ister can now be modified by software.  updated pin signal lists. reorganized the databook as follows:  separated cobra, rs-232, and ppocm registers from their former locations within the pcore section and moved them into their own sections.  moved former data flow section into 7: application notes: data structures on page 673.  moved physical description from before i/o definitions to after register descriptions.  added dc electrical characteristics. 5/10/00 second revision (02). in 3.15 receive queues (rxque) , added three events to table 19: event summary and routing information (x ? 3f ? , x ? 6e ? , and x ? 6f ? 0. corrected numbering of fourth level headings. in 7. application notes: data structures , changed all third-level headings to figures. updated contents and list of figures . in 4. physical description and signal definitions , improved pinout and signal pin list, added tables for vdd and ground pins, and added table defining library elements. corrected many minor formatting and typographical flaws. 5/22/00 third revision (03). corrected part number for ibm processor for network resources version 2.61 to ibm32npcxx1epabbd66. 7/13/00 fourth revision (04). corrected type designation of 3.6.5 comet/pakit lock enable register . in 3.12.17 debugging register access , added three registers: lcd cache lcd address registers , lcd cache state machine variables register , and lcd cache lru state register . in 3.14.6.13 rxaal scatter/cut through info registers , correctly divided scatter/cut through info register 1 and scatter/cut through info register 2. in rxque events, added 3.15.3.9: rxaal picoprocessor generated events on page 361. renumbered former sections 3.15.4 - 3.15.10 (lists of rxque events, by category) to be fourth level entries below 3.15.3 rxque events . in 7.2 general lcd , corrected figure 57. added die dimensions to figure 36: package diagram . corrected shading of ground pins in figure 37: pinout viewed from above . 7/2700 fifth revision (05). changed product number from ibm32npcxx1epabbd66 to IBM32NPCXX1EPABBE66. 8/14/00 sixth revision (06). in 2. input/output definitions table 12 on page 31, corrected rxclk definition.
IBM32NPCXX1EPABBE66 ibm processor for network resources preliminary lcd field definitions page 706 of 706 pnr261appnotes.fm.06 august 14, 2000


▲Up To Search▲   

 
Price & Availability of IBM32NPCXX1EPABBE66

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X